Allmählich habe ich den Eindruck, daß der Fehler überall sonst gesucht wird, nur nicht bei Lazarus.
Nunja....sicher ist man selbst in den allermeisten Fällen wirklich der Schuldige, aber immer?
Daß es an der tlhelp32-
Unit nicht liegen kann, versuche ich mit jetzt einem weiteren Argument zu untermauern. Im Gegensatz zum Prozeßschnappschuß funktioniert mit meinem Lazarus 64 Bit der
Modulschnappschuß, mit dem sich ebenfalls der Exe-Dateiname ermitteln läßt. Nach meiner Beobachtung ist es immer der erste Eintrag des Modulschnappschusses (also Modul32First), der den Exe-Dateinamen liefert, der Rest sind
DLL-Dateinamen.
So habe ich auf die Schnelle in Luckies schon oben strapaziertem WinInfo-Programm den Modulschnappschuß implementiert, den tlhelp32 analog zur Verfügung stellt. Mit diesem Schnappschuß funktioniert die Ermittlung und folglich Ausgabe des Exe-Dateinamens sowohl in der 32- als auch in der 64-Bit-Version!
Anbei die beiden vollständig funktionstüchtigen Compilate mit den Quelltexten.
Reicht das als Beweis, daß die tlhelp32-
Unit unschuldig ist?
Grüße
Delphi-Laie