Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ParamStr(1) wird nicht mitgeschickt (https://www.delphipraxis.net/65599-paramstr-1-wird-nicht-mitgeschickt.html)

xZise 18. Mär 2006 16:15


ParamStr(1) wird nicht mitgeschickt
 
Komischerweise wird ParamStr(1) nicht mehr mitgliefert!

Wo kann ich das ändern?

Matze 18. Mär 2006 16:16

Re: ParamStr(1) wird nicht mitgeschickt
 
Hi,

wie meinst du das? Windows soll das nicht mitschicken? Kann es nicht sein, dass der Fehler in deiner Anwendung liegt? :duck:

sakura 18. Mär 2006 16:18

Re: ParamStr(1) wird nicht mitgeschickt
 
Zitat:

Zitat von xZise
Komischerweise wird ParamStr(1) nicht mehr mitgliefert!

Du wärest der erste, der diesen Bug in Windows findet. Zeige mal Code vom aufrufenden Programm und vom aufgerufenen Programm.

...:cat:...

xZise 18. Mär 2006 16:39

Re: ParamStr(1) wird nicht mitgeschickt
 
Also das aufrufende Programm ist der Windows Explorer... Wird also mit Code schwer :P

Und das Programm das gestartet wird ist hier: (Ich schicke mal nur .Activate mit)

Delphi-Quellcode:
procedure TFMapEditor.FormActivate(Sender: TObject);
begin
  Wahl.Canvas.Brush.Color := clBtnFace;
  RechteWahl.Canvas.Pen.Style := psClear;
  RechteWahl.Canvas.Brush.Color := clBtnFace;

  Gespeichert := true;
  WahlImg[1] := 6;
  WahlImg[2] := 7;
  DoubleBuffered := true;
  WahlEbene[1] := 1;
  WahlEbene[2] := 1;

  Defini[0] := 'S'; // 1
  Defini[1] := 'L'; // 1
  Defini[2] := 'D'; // 1
  Defini[3] := 'K'; // 1
  Defini[4] := 'B'; // 1

  Defini[5] := 'G'; // 2
  Defini[6] := 'W'; // 2
  // NOCH UNDEFINIERT! \\
  Defini[7] := '0'; // ?
  Defini[8] := '0'; // ?
  Defini[9] := '0'; // ?

  Defini[10] := 'L'; // 2
  Defini[11] := 'M'; // 2
  Defini[12] := 'S'; // 2
  Defini[13] := 'F'; // 2
  // NOCH UNDEFINIERT! \\
  Defini[14] := '0'; // ?

  Defini[15] := 'I'; // 3
  Defini[16] := 'R'; // 3
  // NOCH UNDEFINIERT! \\
  Defini[17] := '0'; // 3
  Defini[18] := '0'; // 3
  Defini[19] := '0'; // ?

  Defini[20] := 'L'; // 4
  Defini[21] := 'W'; // 4
  Defini[22] := 'F'; // 4
  // NOCH UNDEFINIERT! \\
  Defini[20] := '0'; // 4
  Defini[20] := '0'; // 4

  Typ[1] := 'G';
  Typ[2] := 'W';
  BAImage12.Bitmap.Transparent := false;

  with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'MapEditor-Settings.ini') do begin
    try
      TestDateiNummer := ReadInteger('Tests','Nummer',0);
    finally
      Free;
    end;
  end;

  // Laden?
  if ParamStr(1) <> '' then
    LoadFile(ParamStr(1));
end;
Und Ich habe es ausgeben lassen: ParamStr(1) = ''

sakura 18. Mär 2006 16:44

Re: ParamStr(1) wird nicht mitgeschickt
 
Zitat:

Zitat von xZise
Also das aufrufende Programm ist der Windows Explorer... Wird also mit Code schwer :P

Und das Programm das gestartet wird ist hier: (Ich schicke mal nur .Activate mit)

Wird die EXE direkt aufgerufen? Dann gibt es keine Parameter, oder wird eine verknüpfte Datei aufgerufen? Wie sieht für die der OPEN Eintrag in der Registry aus?

...:cat:...

xZise 18. Mär 2006 16:46

Re: ParamStr(1) wird nicht mitgeschickt
 
Ähmmm Bisher habe ich die .exe immer direkt aufgerufen (über doppelkilck auf die Datei) und es hat bisher gefunzt!

@ Registry: Open: (Standard) Kein Wer gesetzt

jfheins 18. Mär 2006 16:48

Re: ParamStr(1) wird nicht mitgeschickt
 
Und was sollte dann in ParamStr(1) drinstehen, wenn du doppelklickst ?

sakura 18. Mär 2006 16:48

Re: ParamStr(1) wird nicht mitgeschickt
 
Zitat:

Zitat von xZise
Ähmmm Bisher habe ich die .exe immer direkt aufgerufen (über doppelkilck auf die Datei) und es hat bisher gefunzt!

Aber was für einen Parameter erwartest Du denn, wenn Du keine übergibst :gruebel: Ein Doppelklick auf die Exe führt diese direkt aus, aber übergibt doch keine Parameter.

...:cat:...

xZise 18. Mär 2006 16:49

Re: ParamStr(1) wird nicht mitgeschickt
 
Das die Datei der Aufrufende ist und er bspw. sie dann anzeigt!

Zitat:

Zitat von sakura
Aber was für einen Parameter erwartest Du denn, wenn Du keine übergibst :gruebel: Ein Doppelklick auf die Exe führt diese direkt aus, aber übergibt doch keine Parameter.[...]

Ne... Falsch verstanden! Wenn ich einen Datei (z.B. Map1.FMap) lade, öffnet er zwar den MapEditor, übergibt aber kein Parameter!

sakura 18. Mär 2006 16:51

Re: ParamStr(1) wird nicht mitgeschickt
 
Zitat:

Zitat von xZise
Das die Datei der Aufrufende ist und er bspw. sie dann anzeigt!

Nimm es mir nicht übel, aber ich verstehe von dieser Aussage den Inhalt nicht :shock:

Auf was klickst Du jetzt im Explorer, die EXE oder eine andere Datei, deren Typ mit der EXE verknüpft ist?

...:cat:...

xZise 18. Mär 2006 16:52

Re: ParamStr(1) wird nicht mitgeschickt
 
Zitat:

Zitat von sakura
Nimm es mir nicht übel, aber ich verstehe von dieser Aussage den Inhalt nicht :shock: [...]

Ich meinte jfheins

[edit]
BITTE ÜBERPRÜFEN!
  • Ich klicke auf Map1.FMap
  • *.FMap-Dateien sind mit meinem Mepeditor für Freggels verknüpft
  • Er starten den Mapeditor
  • ParamStr(1) = ''
[/edit]

himitsu 18. Mär 2006 16:53

Re: ParamStr(1) wird nicht mitgeschickt
 
Also das ist aber wirklich komisch, denn normaler Weise wird beim direkten Aufrufen ni ein Parameter mitgeschickt ... wo sollte der denn auch herkommen :?:

xZise 18. Mär 2006 16:55

Re: ParamStr(1) wird nicht mitgeschickt
 
Zitat:

Zitat von himitsu
normaler Weise wird beim direkten Aufrufen ni ein Parameter mitgeschickt

Wenn ni = nie dann irrst du dich! Bisher gings ja...
Und schau nochmal in das Edit, weil ich nicht die .exe lade!!

Ratte 18. Mär 2006 16:57

Re: ParamStr(1) wird nicht mitgeschickt
 
Übergibst du in deiner Verküpfung auch den Dateinamen? Wie sieht denn der OPEN-Befehl für den Explorer aus (steht unter Explorer --> Extras --> Ordneroptionen --> Dateitypen --> Erweitert --> bearbeiten)?

MrKnogge 18. Mär 2006 17:00

Re: ParamStr(1) wird nicht mitgeschickt
 
Moin !

Überprüfe doch mal den Wert von ParamCount.

gruss

xZise 18. Mär 2006 17:01

Re: ParamStr(1) wird nicht mitgeschickt
 
So... Also für die anderen:

Dass war der Fehler:
Vorher:
Zitat:

Zitat von Registry
C:\Dokumente und Einstellungen\ABC\Eigene Dateien\Programmieren\Projekt Freggels\Freggels - The Game\MapEditor.exe

Nachher
Zitat:

Zitat von Registry
"C:\Dokumente und Einstellungen\ABC\Eigene Dateien\Programmieren\Projekt Freggels\Freggels - The Game\MapEditor.exe" "%1"

Und damit:

-erledigt-

@ MrKnooge: Was ist ParamCount?

MrKnogge 18. Mär 2006 17:03

Re: ParamStr(1) wird nicht mitgeschickt
 
ParamCount gibt dir die Anzahl der Parameter wieder.

gruss


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