Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Unterschied Consolenapp/ Formular (https://www.delphipraxis.net/173149-unterschied-consolenapp-formular.html)

hanspeter 9. Feb 2013 10:27

Unterschied Consolenapp/ Formular
 
Hallo,

ich möchte eine Herstellebibliothek verwenden. Diese enthält eine dll, sowie die Interfacebeschreibung.

Beispiel:
Delphi-Quellcode:
function OpenModule(moduleID:Longint;nr:Longint): Longint; stdcall; external 'lib.dll'

Rufe ich Openmodule in einer Formularanwendung , egal an welcher Stelle auf, dann funktioniert das nicht.

Die gleiche Anweisung in einer Consolenanwendung funktioniert jedoch.

Die Formularanwendung habe ich probeweise mit Adminrechten gestartet.

Hat wer einen Tip, wo der Unterschied liegen könnte?

Gruß
Peter

implementation 9. Feb 2013 15:50

AW: Unterschied Consolenapp/ Formular
 
Zitat:

Zitat von hanspeter (Beitrag 1202703)
dann funktioniert das nicht.

Geht's auch etwas genauer?

hanspeter 9. Feb 2013 17:13

AW: Unterschied Consolenapp/ Formular
 
Zitat:

Zitat von implementation (Beitrag 1202728)

Geht's auch etwas genauer?

Genauer wuste ich es noch nicht. Als Consolenapp erhalte ich die Handleadresse als Form Application kommt 0 (= Fehler) zurück.
Der Fehler tritt auch auf, wenn ich die Forms-App explizit mit Admin Rechten starte.

Zwischenzeitlich habe ich weiter gesucht und beim Debuggen festgestellt, dass ein Befehl "RegQueryValueEx" in einer Consolenapp den korrekten und in der Forms App einen Fehler zurück gibt.

Protokollauszug:

Forms: RegQueryValueEx * returns ERROR
Console: RegQueryValueEx * returns:192.168.1.1

Von der Dll habe ich keine Quelle.

Gruß
Peter

Gerade bemerkt, mit RegQueryValueEx erziele ich beim Suchen in der DP jede Menge Treffer.

implementation 9. Feb 2013 17:37

AW: Unterschied Consolenapp/ Formular
 
Versucht die Bibliothek, etwas in die Standardausgabe zu schreiben? Gibt natuerlich einen Fehler, wenn die nicht da ist. Ansonsten fiele mir da kein Unterschied ein.

hanspeter 10. Feb 2013 12:14

AW: Unterschied Consolenapp/ Formular
 
Habe die Ursache gefunden.

(Windows 8 x64)

Je nach dem die DLL aus einer Consolenapp oder einer Formularapplikation gerufen wird, greift sie auf unterschiedliche Bereiche der Registry zu.
Console
HKEY_CURRENT_USER\Software\Classes\VirtualStore\MA CHINE\SOFTWARE\Wow6432Node\

Forms-Applikation
HKLM Wow6432Mode

Vielen Dank für die freundliche Hilfe.

Gruß
Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz