Einzelnen Beitrag anzeigen

Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#47

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

  Alt 9. Mai 2010, 13:18
Hi!

Zitat von Delphi-Laie:
mein Bugreport wurde etwas überraschend geschlossen, allerdings artete es dort zugegebenermaßen auch immer mehr zur Diskussion aus.
1. wurde er nicht "geschlossen", sondern auf "resolved" gesetzt (schließen musst du ihn noch). Du könntest ihn wieder öffnen, aber das bringt aus meiner Sicht nichts, da das Problem ja nun nicht mehr im FPC Code liegt
2. das Thema ist aus Sicht des Bugreports erledigt (denn es funktioniert ja jetzt prinzipiell, wenn ich dass deiner Antwort dort richtig entnommen habe) und jede weitere Diskussion sollte nicht im Bugtracker stattfinden

Zitat von Delphi-Laie:
1. Die Modulenumeration funktioniert bei den Systemprozessen (Ring 0 / Kernelmodus) deshalb nicht, weil das (anforderbare) Privileg dazu fehlt.
Jupp, das kann dir unter Windows leicht mal passieren und ist der Normalfall, wenn man nicht als Administrator unterwegs ist (wie es im Konzept von NT ja eigentlich gedacht war... *seufz*).

Zitat von Delphi-Laie:
2. explorer.exe und cmd.exe sind 64-Bit-Prozesse, während andere, die über ihre Module bereitwillig auskunfteten, 32-Bit-Prozesse waren. Es war wohl unter der Würde der 64-Bit-Prozesse, einem anfragenden 32-Bit-Prozeß Auskunft über die Module zu geben (salopp formuliert).
Ich würde nicht behaupten, dass dies "unter der Würde" der Prozesse ist, sondern vielmehr eine Designentscheidung von Microsoft (schließlich geben dir nicht die Prozesse Auskunft über sich, sondern das Betriebssystem gibt dir die Auskunft und dieses hat die volle Kontrolle über die Informationen). Es ist wahrscheinlich zu riskant einem 32-Bit Prozess auf diese Weise Zugang zu den 64-Bit Modulen zu gewähren (schließlich kann ein 32-Bit Prozess nicht mit 64-Bit virtuellem Speicher umgehen, etc).

Zitat von Delphi-Laie:
Wenn nun Lazarus noch standardmäßig mit der die tlhelp64-Unit oder mit einer angepaßten jwatl32help (jwatl64help?!) aufgebohrt würde, wäre es optimal, und solche Bugreports wie meiner wären dann überflüssig.
1. jwatlhelp32 ist Teil von Free Pascal (genauer: FCL), nicht Lazarus. Es gibt also keinen Grund Lazarus "aufzubohren".
2. Der Bug wurde gefixt und wird eventuell Teil des nächsten Releases werden (eventuell werde ich bitten den Fix in FPC 2.4.1 zu mergen), es besteht also gar kein Bedarf eine tlhelp64 einzuführen. Zudem heißt der C-Header auch in Win64 noch tlhelp32.h
3. Du hast einen Fehler in Free Pascal Code entdeckt und damit ist es nur gut und recht, wenn du diesen berichtest, selbst wenn ein ähnlicher Report bereits vorhanden und in der Entwicklerversion bereits gefixt wurde. Ganz nach dem Prinzip "doppelt hält besser". Und selbst wenn man Lazarus oder Free Pascal mit einer hypothetischen tlhelp64 ausstatten würde, so könnte auch diese noch Bugs enthalten, die berichtet werden wollen.

Wenn du noch weiter Probleme mit der tlhelp32 frag also bitte hier weiter (oder in einem neuen Thread, je nachdem was den Mods lieber ist ).

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat