Re: [fpc-devel] Small Wstrings problem
Martin Schreiber wrote: On Sunday 26 June 2005 20.07, Florian Klaempfl wrote: I didn't merge the widestring memory handling to fixes and it wasn't wrong to do so, see the current failures :) They don't work with checkpointer (see bug report 4125). Anybody a suggestion how we should handle this? There was a bug report (http://www.freepascal.org/bugs/showrec.php3?ID=2423) that FPC causes problems when working with variants and widestrings and passing them to windows. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Small Wstrings problem
On Mon, 27 Jun 2005, Florian Klaempfl wrote: Martin Schreiber wrote: On Sunday 26 June 2005 20.07, Florian Klaempfl wrote: I didn't merge the widestring memory handling to fixes and it wasn't wrong to do so, see the current failures :) They don't work with checkpointer (see bug report 4125). Anybody a suggestion how we should handle this? There was a bug report (http://www.freepascal.org/bugs/showrec.php3?ID=2423) that FPC causes problems when working with variants and widestrings and passing them to windows. In delphi, on windows the function NewWideString calls SysAllocStringlen to allocate the wide string. On Linux, a simple getmem is used. When freeing the wide string, SysFreeString is used. I don't see any other way to do it. To make the code 'system independent' you could introduce a set of procedural variables GetWideStringMem : Function (Len : Integer) : Pointer; FreeWideString : procedure(var P : Pointer); Which are set to defaults on non-win32, and which are set to 2 functions that call the appropriate windows functions. Michael. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Small Wstrings problem
Martin Schreiber wrote: On Monday 27 June 2005 11.38, Peter Vreman wrote: Move all FPC_CHECKPOINTER calls to a function tcg.maybe_checkpointer() that also requires a tdef as argument. Make an exception for tdef=widestring under windows. Does it work with pwidechar(widestring) or pwidechar(@widestring[index])? We should have an additional string type 'OLEString' or 'BSTR' on windows, 'widestring' should remain reference counted and heap based on all platforms. That won't like people who count on delphi compatibility. Maybe we should make the widestring heap allocation through the widestring manager so heaptrace can hook it. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Small Wstrings problem
On Monday 27 June 2005 13.53, Florian Klaempfl wrote: That won't like people who count on delphi compatibility. Maybe we should make the widestring heap allocation through the widestring manager so heaptrace can hook it. Then the other way around, a new widestring which is reference counted on all platforms for people like, me who count on cross platform portability. So i can write type {$ifdef FPC} mywidestring = FPCwidestring; {$else} mywidestring = widestring; {$endif} and exchange 'widestring' by 'mywidestring' 10'000 times... In most times i use widestrings and not ansistrings and i estimate the performance gain of the FPC widestrings over the not reference counted delphi strings. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] WinCE port
Hello, I started WinCE port. Any help is appreciated. Currently not much is done. I added added new (empty) target wince to compiler and built crosscompiler for arm with wince target. I have some questions: 1. What is simplest way to add wince target to makefiles? The only way I see is to edit all makefile.fpc files and add wince to them. 2. I need fakertl stuff to start. 3. Any knowledge of how to implement export,import,linker stuff for wince target? 4. Port of windows unit for WinCE? Yury Sidorov. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] ARM crosscompiler in latest trunk
Hi, I updated source to the latest 510 revision and get the following error while compiling ARM crosscompiler: cpubase.pas(416,65) Fatal: Syntax error, , expected but ) found The error is due to type Tsubregister was changed. Yury Sidorov. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] WinCE port
Yury Sidorov wrote: Hello, I started WinCE port. Any help is appreciated. Currently not much is done. I added added new (empty) target wince to compiler and built crosscompiler for arm with wince target. I have some questions: 1. What is simplest way to add wince target to makefiles? The only way I see is to edit all makefile.fpc files and add wince to them. What do you mean with all? Only the top level make files should really need extra effort. For the other Makefiles it's enough with a fpcmake of 2.1.1 svn branch to regenerate them. 2. I need fakertl stuff to start. Well, I'am not sure how close wince to win32 is. Maybe you can start with the win32 system unit? 3. Any knowledge of how to implement export,import,linker stuff for wince target? No. Probably the same as win32 does. Playing with the gnu c/binutils for wince would be a good starting point. 4. Port of windows unit for WinCE? No idea how much it from win32 differs. Yury Sidorov. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] WinCE port
From: Florian Klaempfl [EMAIL PROTECTED] 1. What is simplest way to add wince target to makefiles? The only way I see is to edit all makefile.fpc files and add wince to them. What do you mean with all? Only the top level make files should really need extra effort. For the other Makefiles it's enough with a fpcmake of 2.1.1 svn branch to regenerate them. I do not know much about fpcmake, but as I see there is makefile.fpc file in each directory. fpcmake creates makefile files based on makefile.fpc files. Which makefile.fpc files should be changed to add new target os? 2. I need fakertl stuff to start. Well, I'am not sure how close wince to win32 is. Maybe you can start with the win32 system unit? Yes, I hope actual system unit for WinCE will be based in win32 system unit. But first of all I need fpc to create working WinCE executables, so I need fake (empty) rtl to test it. Yury Sidorov. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] WinCE port
Yury Sidorov wrote: From: Florian Klaempfl [EMAIL PROTECTED] 1. What is simplest way to add wince target to makefiles? The only way I see is to edit all makefile.fpc files and add wince to them. What do you mean with all? Only the top level make files should really need extra effort. For the other Makefiles it's enough with a fpcmake of 2.1.1 svn branch to regenerate them. I do not know much about fpcmake, but as I see there is makefile.fpc file in each directory. fpcmake creates makefile files based on makefile.fpc files. Which makefile.fpc files should be changed to add new target os? I think do get basic things rolling you don't need to change one but create a new one in rtl/wince 2. I need fakertl stuff to start. Well, I'am not sure how close wince to win32 is. Maybe you can start with the win32 system unit? Yes, I hope actual system unit for WinCE will be based in win32 system unit. But first of all I need fpc to create working WinCE executables, so I need fake (empty) rtl to test it. Which tool chain do you plan to use? Using the fakertl is more hazzle than starting with a real system unit :) ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel