OK, I apologize. It seems that the problem lies elsewhere. The fact that library initialization seems to be deferred until you do a GetProcAddress() confused me. The problem is that function GetModuleName() is stubbed out in WinCE (and Linux):
unit SysUtils.inc; function GetModuleName(Module: HMODULE): string; begin {$ifdef MSWINDOWS} SetLength(Result,MAX_PATH); SetLength(Result,GetModuleFileName(Module, Pchar(Result),Length(Result))); {$ELSE} Result:=''; {$ENDIF} end; The function GetModuleFileName() exists (although it is unicode) in WinCE: http://msdn.microsoft.com/en-us/library/ms908441.aspx And from what I've found in the web a Linux implementation is possible using dladdr(). On Mon, Jun 11, 2012 at 1:53 PM, Sven Barth <pascaldra...@googlemail.com> wrote: > Am 11.06.2012 12:25, schrieb kyan: > >> Does unit initialization in libraries (.dll files) work in arm/WinCE? > > > From the startup code of arm-wince I don't see why it should not work... > > >> Somehow it seems that even code placed in the library initialization >> begin end block isn't executed either. > > > How did you test this? > > >> I found some bug reports (e.g. >> 0019404) suggesting that this didn't work for arm/Linux but it has >> been added to the trunk. But not for arm/WinCE? > > > Linux and Windows have different schemes for library initialization, so even > if it was the case that arm-wince did not work it would not help to apply > the fix for arm-linux there as well. > > Regards, > Sven > _______________________________________________ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/mailman/listinfo/fpc-pascal _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal