[lazarus] Win32 crash fixed

Keith Bowes keith_bowes at hotmail.com
Thu Jan 31 17:45:05 EST 2002


From: "Luis R. Hilario" <l_hilario at yahoo.com>
> >
> Windows '98 / IE 5.5 (and Mozilla :)
>

All editions of Windows 95 and 98 had DOS compatibility (so you could run
your existing DOS and Windows 3.x programs).  Windows ME removed it and,
AFAIK, Windows NT (which includes Windows 2000 and XP) never had it.  I came
to the assumption that windres failing was related to the Windows version
when Marco revealed he was using Windows 98 and it was failing, but it
worked for me in Windows ME and continued to work when I upgraded to XP.

> I is using a clean copy now (before used that of Linux).
> After learning to use WinCVS is using it to obtain the sources for
> Windows.
>
> I is compiling to Lazarus of two forms: Manually (l.bat) and using
> make.exe (with a little aid).
>
> Using make.exe
> --------------
> windres -i lazarus.rc -o lazarus.res
> make
>
> Yes!
>
>
> Using l.bat
> -----------
> windres -i lazarus.rc -o lazarus.res
> l.bat
>
> Compiling .\lcl\interfaces\win32\winext.pas
> winext.pas(109,13) Error: Illegal type conversion
> winext.pas(150,32) Warning: Local variable LASTP does not seem to be
> initialized
>
> winext.pas(180,26) Error: Illegal type conversion
> winext.pas(182,26) Error: Illegal type conversion
> winext.pas(212) Fatal: There were 3 errors compiling module, stopping
>
> All the errors are resolved putting a "@".
>
> Function StrToPChar(Const Str: String): PChar;
> Begin
>   TmpStr := PChar(@Str[1]);
>   Result := TmpStr;
> End;
>
> Function StrToPChar(Const Str: String): PChar; // Is the same thing,
> truth?
> Begin
>   Result := PChar(@Str[1]);
> End;
>
> And now it compiles.
>

You need to enable long (ANSI) strings with the -Sh option.  This option is
set automatically for you in the Makefile.

> Of the two forms Lazarus and the examples "function".
>
> --
>  |------------------------------|
> | Luis R. Hilario                |
> | http://www.luis-digital.8m.com |
>  |------------------------------|


----------------------------------------------------------------------------
----


> ppc386 -S2
lazarus.pp -Fudebugger -Fudesigner -Fucomponents\synedit -Fucomponents\codet
ools -Fiinclude -Fiinclude/win32 -Fulcl -Filcl/include -Fulcl/interfaces/win
32
>






More information about the Lazarus mailing list