Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit ParamStr (https://www.delphipraxis.net/56196-problem-mit-paramstr.html)

kingflo 2. Nov 2005 08:40


Problem mit ParamStr
 
Hallo...
Ich habe ein blödes Problem.
Ich wollte einfach nur in einem memo alle übergebenen Parameter anzeigen

das mache ich so:

Delphi-Quellcode:
for i := 1 to paramcount do
    memo1.lines.Add(paramstr(i));
so wenn ich das jetzt aus der CMD Konsole ausführe klappt es auch super.
z.B bei "C:\DApp\Project1.exe Hallo test blah" steht im memo

Hallo
test
blah

Aber wenn ich in Windows z.B 2 oder 3 txt Datein makiere und klick dann öffnen mit Project1.exe dann ist immer nur 1 Dateiname im Memo und nicht alle drei.

weiß jemand woran das liegt? übergibt windows die Parameter irgendwie anders??

jim_raynor 2. Nov 2005 08:56

Re: Problem mit ParamStr
 
Ganz einfach. Für jede Datei wird das Programm einzeln aufgerufen. Das Programm wird also in deinem Fall drei mal gestartet.

turboPASCAL 2. Nov 2005 09:08

Re: Problem mit ParamStr
 
ups

kingflo 2. Nov 2005 09:16

Re: Problem mit ParamStr
 
Zitat:

Zitat von jim_raynor
Ganz einfach. Für jede Datei wird das Programm einzeln aufgerufen. Das Programm wird also in deinem Fall drei mal gestartet.

Ne das wird es nicht es startet nur einmal.

Wenn du 3 Textdatein makierst und dann rechte maustaste und auf öffnen mit notepad klickst wird notepad auch nur 1 mal geöffnet und das ist bei meiner anwendung auch so, aber er nimmt als Parameter halt nur die erste Datei.

jim_raynor 2. Nov 2005 09:25

Re: Problem mit ParamStr
 
Normalerweise startet er für jede Datei das Programm extra. Ausser du hast irgendwas mit DDE bei der Dateierweiterung eingestellt. Dann wird das Programm mit der ersten Datei aufgerufen und alle weiteren Dateien per DDE übergeben. Wie das aber genau funktioniert. Keine Ahnung. Aber hier gabs schon mehrmals was zu DDE. Einfach mal suchen.

MaBuSE 2. Nov 2005 09:47

Re: Problem mit ParamStr
 
Zitat:

Zitat von kingflo
Ich habe ein blödes Problem.
...
Aber wenn ich in Windows z.B 2 oder 3 txt Datein makiere und klick dann öffnen mit Project1.exe dann ist immer nur 1 Dateiname im Memo und nicht alle drei.
weiß jemand woran das liegt? übergibt windows die Parameter irgendwie anders??

Mir ist aufgefallen, das Windows bei Drag und Drop manchmal auch nur einen Dateinamen übergibt.

kleines Beispiel:
Öffne eine Eingabeaufforderung (DosFenster / cmd.exe)
Öffne eine Explorer Fenster (Win+E Taste)
Ziehe 2 Textdateien in das Dos Fenster.
-> Es wird nur die 1. Datei angezeigt.

Und als weiterer Hinweis:

Du kannst die Befehlszeile inkl. Parameter auch mit cmdline abgreifen.

Delphi-Quellcode:
...
  Caption := cmdline;
...

kingflo 2. Nov 2005 10:03

Re: Problem mit ParamStr
 
mit cmdline hab ich es auch schon versucht aber ist genau das gleiche Problem.
Bei mehrern Datein wird auch nur die erste übergeben.

Ich werde mir wohl DDE mal ansehen.

danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:56 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