Delphi-PRAXiS
Seite 5 von 9   « Erste     345 67     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Reload (https://www.delphipraxis.net/136044-reload.html)

Mithrandir 22. Jun 2009 20:12

Re: Reload
 
@himi: Bei Turbo Delphi ist das schon der Fall. Dort kann ich mir auch die Erklärungen der WinAPI - Funktionen ansehen, natürlich in Englisch. ;)

Fussel9 22. Jun 2009 20:12

Re: Reload
 
...Ich habe leider nur Delphi 2006 (auch als TurboDelphi bekannt)

aber mein Fachspezifisches English ist nicht sehr gut... ;)

mkinzler 22. Jun 2009 20:13

Re: Reload
 
Zitat:

Zitat von Fussel9
...Ich habe leider nur Delphi 2006 (auch als TurboDelphi bekannt)

Dort sollte es aber dabei sein

Fussel9 22. Jun 2009 20:20

Re: Reload
 
Zitat:

Zudem ist es gefährlich einen relativen datenpfad (zum Arbeitsverzeichnis != Anwendungsverzeichnis) zu verwenden
Was zur Hölle habt ihr gegen relative Pfadangaben???

mit ''.\'' sag ich Delphi das sich die Datei in dem Ordner befindet in dem die exe ist...

und mit ''.\Save\Save.ini'' ,dass sich die Datei im von der exe gesehen in einem Unterordner namens Save befindet und das die datei Save.ini heißt...

WO Soll DA DIE GEFAHR SEIN??? :gruebel:

Popov 22. Jun 2009 20:21

Re: Reload
 
Zitat:

Zitat von himitsu
nur noch mal kurz zum Hier im Forum suchenShellExecute und da es eine WinAPI ist, noch MSDN-Library durchsuchenShellExecute

oder einfach mal Strg+Shift+F Verzeichnis "C:\Programme\CodeGear\" und Suchwort "ShellExecute"

Bei solchen Tipps sollte man immer vorsichtig sein, denn bei vielen Begriffen bestehen die meisten Treffer wirklich nur aus der Empfehlung die Suche zu bemühen. Denn ob ein Beispiel oder die Empfehlung Hier im Forum suchenShellExecute, für die Suche sind es beides Treffer. Ok, heute hätte er Glück gehabt, aber nicht selten muß man erst paar Seiten 50 Seiten durchgehen bis man was vernünftiges findet.

Und auch mit MSDN-Library durchsuchenShellExecute kann nicht jeder etwas anfangen, vor allen Anfänger nicht. Das

Code:
HINSTANCE ShellExecute(     
    HWND hwnd,
    LPCTSTR lpOperation,
    LPCTSTR lpFile,
    LPCTSTR lpParameters,
    LPCTSTR lpDirectory,
    INT nShowCmd
);
muß man als Anfänger auch verstehen.

DeddyH 22. Jun 2009 20:21

Re: Reload
 
Zitat:

mit ''.\'' sag ich Delphi das sich die Datei in dem Ordner befindet in dem die exe ist...
Falsch! '.' bezeichnet den aktuellen Pfad, das muss nicht der sein, in dem das Programm liegt.

[edit] Vertippsler [/edit]

[edit2]
Zitat:

Zitat von Popov
Und auch mit MSDN-Library durchsuchenShellExecute kann nicht jeder etwas anfangen, vor allen Anfänger nicht. Das

Code:
HINSTANCE ShellExecute(     
    HWND hwnd,
    LPCTSTR lpOperation,
    LPCTSTR lpFile,
    LPCTSTR lpParameters,
    LPCTSTR lpDirectory,
    INT nShowCmd
);
muß man als Anfänger auch verstehen.

Direkt eine Zeile tiefer werden sämtliche Parameter erklärt, man muss auch mal bis zum Ende lesen ;) [/edit2]

Mithrandir 22. Jun 2009 20:24

Re: Reload
 
Zitat:

WO Soll DA DIE GEFAHR SEIN???
Naja,

während dein Programm läuft, kann sich, durch ein anderes Programm, das aktuelle Arbeitsverzeichnis ändern. Nix anderes macht man nämlich mit relativen Pfadangaben: Man schreibt ins aktuelle Arbeitsverzeichnis. Im Regelfall ist dass das der Anwendung, u.U. ist das aber auch ein völlig anderes.

Deswegen ist

Delphi-Quellcode:
IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0))) + 'irgendeine.datei'
die beste Lösung, wenn du was ins eigene Verzeichnis packen willst. Wenn du nur den Pfad zur Exe brauchst, dann steht der komplett in ParamStr(0). ;)

Fussel9 22. Jun 2009 20:25

Re: Reload
 
Zitat:

Das

Code: markieren
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);


muß man als Anfänger auch verstehen.
Das war ja wohl ein ganz schlechter Scherz oder?

mkinzler 22. Jun 2009 20:27

Re: Reload
 
Zitat:

während dein Programm läuft, kann sich, durch ein anderes Programm, das aktuelle Arbeitsverzeichnis ändern.
Noch schlimmer, er kann schon bei Programmstart anders sein, z.B. beim Aufruf in einer Verknüpfung mit abweichenden Pfad

DeddyH 22. Jun 2009 20:28

Re: Reload
 
Zitat:

Zitat von Daniel G
während dein Programm läuft, kann sich, durch ein anderes Programm, das aktuelle Arbeitsverzeichnis ändern.

Ist noch nicht einmal nötig. Wenn man das Programm z.B. aus einer Batchdatei heraus startet, ist es bereits ein Unterschied, ob erst zum Programmpfad gewechselt oder direkt das Programm mit komplettem Pfad aufgerufen wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 Uhr.
Seite 5 von 9   « Erste     345 67     Letzte »    

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