Einzelnen Beitrag anzeigen

Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#30

Re: DLL-Funktionen in Lazarus/FP einbindbar / wie einzubinde

  Alt 21. Mär 2010, 11:58
Zitat von Delphi-Laie:
Sooo schnell gebe ich allerdings nicht auf. Auf Dateinamensgleichheit geprüft (müßte aber stimmen, sonst gäbe es ja eine Fehlermeldung), und tatsächlich, auch unter meinem Windows XP 64 Bit heißt die angesprochene, angeforderte DLL „kernel32.dll“. Zur Sicherheit auch noch den Dependency Walker darübergejagt, doch auch die Funktionen in(nerhalb) der DLL schmücken sich inkonsequenterweise mit dem Zusatz (der Endung) „32“.
... ist auch bei Vista und 7 so. Sehr verwirrend.
Zitat von Delphi-Laie:
Nun tauschte ich alle DWORD-Typdeklarationen in der „tlhelp32.pas“ mit „Int64“ aus. Auch das wird fehlerfrei compiliert und eingebunden. Doch die Toolhelpfunktionen scheinen immer noch nicht zu klappen, zu funktionieren, verfügbar zu sein, was auch immer. Es gibt keine Fehlermeldung, jedoch auch keine Funktionswirkung.
1. DWord ist vorzeichenlos und Int64 vorzeichenbehaftet. Das 64bit-Pendant zu DWord ist QWord/UInt64.
2. Wie schon geschrieben wurde, sind sehr viele Assemblerblöcke drin, die eben alle für 32 bit geschrieben sind. Die müsste man alle nochmal umschreiben, damit alles vernünftig liefe.
Zitat von Delphi-Laie:
Weißt Du oder weiß jemand anderes noch einen Rat, Toolhelpfunktionen unter Lazarus 64 Bit verfügbar zu machen?
Direkte Nutzung der Win32-API (ja, die heißt immer noch so , sagt zumindest das Windows SDK).
Das macht zwar die Portierung auf andere Plattformen unmöglich, aber das scheint ja so wie so keine Rolle zu spielen.

[edit]LongWord oben entfernt. Ist mir so dazwischengerutscht. Danke an JamesTKirk für den Hinweis ;D[/edit]
  Mit Zitat antworten Zitat