Entwickler-Ecke

Dateizugriff - Problem mit ExtractFilePath und PDF-Datei


Aadelbert - Di 23.11.04 13:38
Titel: Problem mit ExtractFilePath und PDF-Datei
Benötige dringend Hilfe wegen folgenden Problems:

Absoluter Pfad funktioniert.

Delphi-Quelltext
1:
ShellExecute(Handle, 'open''c:\Programme\Firma\Anwendungverzeichnis\Hilfe\Anmelden.pdf'nilnil, SW_SHOWNORMAL);                    



Warum funktioniert dies nicht?

Delphi-Quelltext
1:
ShellExecute(Handle, 'open', ExtractFilePath(Application.ExeName)+'Hilfe\Anmelden.pdf'nilnil, SW_SHOWNORMAL);                    


Verwende D6 und XP

Danke

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt.


patrick - Di 23.11.04 13:47

wennich jetzt keinen dreher zwischen den 2 befehlen hab (passiert mir öfters) musst du das entweder so (\vor dem hilfe)

Delphi-Quelltext
1:
ShellExecute(Handle, 'open', ExtractFilePath(Application.ExeName)+'\Hilfe\Anmelden.pdf'nilnil, SW_SHOWNORMAL);                    

oder so (extrahiert inkl."\")

Delphi-Quelltext
1:
ShellExecute(Handle, 'open', ExtractFileDir(Application.ExeName)+'Hilfe\Anmelden.pdf'nilnil, SW_SHOWNORMAL);                    

machen,


raziel - Di 23.11.04 13:51

@patrick: Du hast einen Dreher drin ;)

Befindet sich denn die Exe überhaupt in c:\Programme\Firma\Anwendungverzeichnis?


Aadelbert - Di 23.11.04 19:53

Ich habe jetzt beide Varianten ausprobiert. Jedesmal kommt die folgende Meldung, hab ich leider vorhin übersehen:

[Fehler] Unit6.pas(1325): Inkompatible Typen: 'String' und 'PChar'
[Fataler Fehler] BTM.dpr(26): Verwendete Unit 'Unit6.pas' kann nicht compiliert werden

Die Exe steht im Anwendungsverzeichnis! Mit dem o.g. absoluten Pfad ist es kein Problem aber gerade bei diesem Programm kann ich den absoluten Pfad nicht gebrauchen.

Für jeden weiteren Tip bin ich dankbar.

Aadelbert


patrick - Mi 24.11.04 10:32

da könnte ich mich ja 2x kneifen: :oops:

Delphi-Quelltext
1:
ShellExecute( Handle, 'open', PChar(ExtractFilePath(Application.ExeName)+'Hilfe\Anmelden.pdf'), nilnil, SW_SHOWNORMAL);                    


die funktion Pchar muss davor ausgeführt werden


Delete - Mi 24.11.04 10:46

PChar ist keine Funktion. PChar ist in dem Fall ein Type-Casting.


Aadelbert - Mi 24.11.04 14:25

Viel Spaß beim Kneifen! Ich hab mich selbst mindestens 10 xxx !
Klappt, na klar!

Danke