AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pfad Host Anwendung DLL

Ein Thema von calibra301 · begonnen am 10. Feb 2023 · letzter Beitrag vom 10. Feb 2023
Antwort Antwort
calibra301

Registriert seit: 20. Mär 2009
95 Beiträge
 
Delphi XE8 Professional
 
#1

Pfad Host Anwendung DLL

  Alt 10. Feb 2023, 08:49
Hallo,

ich progge eine DLL in Delphi.
Ausgabeverzeichnis ist mit "..\Bin32\TEST" angegeben.
Als Hostanwendung habe ich "..\Bin32\TEST\Host.exe".
Funktioniert soweit..

Dann kam das 64 Bit Elend..
Ausgabe nach "..\Bin64\TEST" angegeben. Da liegt die 64Bit Host Anwendung und die DLL
kommt da auch an.
Als Hostanwendung für 64Bit Debug habe ich "..\Bin64\TEST\Host.exe" eingetragen.
Dann kommt ein "Host Anwendung nicht gefunden." Gebe ich da den absoluten Pfad an
dann gehts...

Keinen Plan was ich da falsch mache...
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Pfad Host Anwendung DLL

  Alt 10. Feb 2023, 09:09
Mit dem Process Monitor kannst du sehen, wo die bds.exe die Hostanwendung sucht. (Im Filter Process Name is bds.exe und Path contains Host.exe eintragen.)
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#3

AW: Pfad Host Anwendung DLL

  Alt 10. Feb 2023, 11:18
Bei 32 Bit macht es standardmäßig der Debugger innerhalb des IDE-Prozesses.
Für 64 Bit muß der RemoteDebugger benutzt werden (macht die IDE hier von selbst), aber der ist ein eigenständiger Prozess, wo relative Pfade womöglich einen anderen Ursprung/Arbeitsverzeichnis haben.

Probier mal, ob du an der Stelle $(PROJECTDIR)\xxx , $(PROJECTPATH)xxx , $(OUTPUTDIR)\xxx oder $(OUTPUTPATH)xxx als Pfad verwenden kannst.



Nicht nur die Host-Anwendung angeben, sondern auch das Arbeitsverzeichnis besser nicht vergessen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (10. Feb 2023 um 11:22 Uhr)
  Mit Zitat antworten Zitat
calibra301

Registriert seit: 20. Mär 2009
95 Beiträge
 
Delphi XE8 Professional
 
#4

AW: Pfad Host Anwendung DLL

  Alt 10. Feb 2023, 11:28
Hallo,

der Prozessmonitor findet mein Test.exe nicht.

$(PROJECTDIR) und Co werden leider auch nicht übersetzt.
Tauchen dann mit dem Text in der Fehlermeldung auf das die Host-Anwendung nicht
gefunden wurde.
  Mit Zitat antworten Zitat
calibra301

Registriert seit: 20. Mär 2009
95 Beiträge
 
Delphi XE8 Professional
 
#5

AW: Pfad Host Anwendung DLL

  Alt 10. Feb 2023, 11:52
Hallo,

lt. Google gehen an der Stelle nur Verweise auf Umgebungsvariablen

{BIN64}\Test.exe
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#6

AW: Pfad Host Anwendung DLL

  Alt 10. Feb 2023, 12:20
In der IDE kann man auch eigene Umgebungsvariablen hinzufügen, aber ich fürchte der RemoteDebugger benutzt diese nicht.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Pfad Host Anwendung DLL

  Alt 10. Feb 2023, 12:48
Ich habe es kurz ausprobiert (mit Delphi 10.4 Community). Die Logik, nach der Variablen ausgewertet werden, ist wirklich sehr verwirrend. Deine Eingaben funktionieren mit Delphi 10.4 aber.

Nun zur Verwirrung:
Es macht einen Unterschied, ob man das aktuelle Arbeitsverzeichnis (.\...), ein relatives Verzeichnis (..\...) oder ein absolutes Verzeichnis (c:\...) als Hostangabe verwendet. Je nachdem, was man da angibt, werden Variablen ausgewertet oder nicht und teilweise auch falsch ausgewertet. Ich verstehe es nicht. Mal wird aus $(Platform)\$(Config) dann %Platform%\%Config%, mal korrekt Win64\Debug, mal wird als Basis das Ausgabeverzeichnis verwendet, mal das der Projektdatei.
Das ist wirklich absolut unlogisch und undurchschaubar, auch in 10.4.

der Prozessmonitor findet mein Test.exe nicht.
Ja, ich habe den Filter falsch genannt. Bei 64-Bit wird ja ein externer Debugger verwendet und nicht direkt die bds.exe. Filtere daher nur auf Path, nicht auf Process Name.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:55 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