Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Kontextmenü, Parameterübergabe, Dateiupload (https://www.delphipraxis.net/171844-kontextmenue-parameteruebergabe-dateiupload.html)

CCRDude 29. Nov 2012 11:56

AW: Kontextmenü, Parameterübergabe, Dateiupload
 
Gar nichts = es öffnet sich kein Fenster, der Prozess wird nicht einmal gestartet? Oder "gar nichts" = "nicht das, was du erwartet hast"?

Außerdem: hast Du mal nen Breakpoint in die erste Zeile in FormShow gesetzt und geschaut, ob das aufgerufen wird?

Hätte Dir auch schon zu Anfang geholfen, weil Du dann in den Watches gesehen hättest, dass Form1 = nil :)

Sir Rufo 29. Nov 2012 12:07

AW: Kontextmenü, Parameterübergabe, Dateiupload
 
Wenn die Instanz Form1 nicht erzeugt wurde und diese Instanz aber angesprochen werden soll, dann knallt es eben.

Zeig doch mal die gesamte dpr, da ist irgendwo auch der Teil, wo die Instanz Form erzeugt wird, aber wohl erst nach deinem Aufruf.

DeddyH 29. Nov 2012 12:11

AW: Kontextmenü, Parameterübergabe, Dateiupload
 
Wenn in der Methode nichts passiert, ist möglicherweise der Handler nicht mit dem Ereignis verknüpft. Das kann man aber im Objektinspektor leicht feststellen.

jacko1988 29. Nov 2012 12:12

AW: Kontextmenü, Parameterübergabe, Dateiupload
 
Code:
program Test;

uses
  MidasLib,
  Windows,
  Forms,
  Dialogs,
  SysUtils,
  AdrbookUnit in 'AdrbookUnit.pas' {Form3},
  LogFileUnit in 'LogFileUnit.pas' {Form4},
  uLkJSON in 'uLkJSON.pas',
  MainUnit in 'MainUnit.pas' {Form1},
  OptionsUnit in 'OptionsUnit.pas' {Form2},
  IdSSLOpenSSL in 'C:\Programme\CodeGear\RAD Studio\5.0\source\Indy\Indy10\Protocols\IdSSLOpenSSL.pas',
  InfoUnit in 'InfoUnit.pas' {Form5};

 {$R *.res}
 {$R 'Win7UAC.res'}


var Semaphore: THandle;
begin

if (ParamCount>0) and (FileExists(ParamStr(1))) then
      begin
Form1.Show;
end;

      Semaphore := CreateSemaphore(nil, 1, 1, PChar(MainUnit.MyGUID));
if (GetLastError = ERROR_ALREADY_EXISTS) then
      PostMessage (HWND_BROADCAST, MainUnit.ActivationMessage,0,0)
   else

  begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.Title := 'Test Programm';
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm5, Form5);
  Application.Run;
  end;

CloseHandle(Semaphore);
end.

DeddyH 29. Nov 2012 12:14

AW: Kontextmenü, Parameterübergabe, Dateiupload
 
Delphi-Quellcode:
begin

if (ParamCount>0) and (FileExists(ParamStr(1))) then
      begin
Form1.Show; //<-- Hier gibt es noch kein Form1...
end;

      Semaphore := CreateSemaphore(nil, 1, 1, PChar(MainUnit.MyGUID));
if (GetLastError = ERROR_ALREADY_EXISTS) then
      PostMessage (HWND_BROADCAST, MainUnit.ActivationMessage,0,0)
   else

  begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.Title := 'Test Programm';
  Application.CreateForm(TForm1, Form1); //<-- ...denn hier wird es erst erzeugt
  Application.CreateForm(TForm5, Form5);
  Application.Run;
  end;

CloseHandle(Semaphore);
end.

jacko1988 29. Nov 2012 12:52

AW: Kontextmenü, Parameterübergabe, Dateiupload
 
Soweit kann ich folgen.
Aber wie muss das denn dann aussehen?
Ich meien ich habe einen Semaphore Code drinne, der muss auch unbedingt bleiben.

Wahrscheinlich seh ich vor lauter Code den Schnipsel nicht.

DeddyH 29. Nov 2012 12:56

AW: Kontextmenü, Parameterübergabe, Dateiupload
 
Kann er ja auch. Du sollst doch nur das ParamStr-Gedöns aus der *.dpr herausnehmen und im Hauptformular verarbeiten.

jacko1988 29. Nov 2012 13:44

AW: Kontextmenü, Parameterübergabe, Dateiupload
 
So schauts aus nun, nur bekomme ich die Showmessage nicht.
Im OnShow Ereigniss der Form1 ist OnShow eingetragen.

Code:
procedure TForm1.FormShow(Sender: TObject);
      var StrParam1 : String;
begin
if (ParamCount>0) and (FileExists(ParamStr(1))) then
      begin
      showmessage(StrParam1);
         //Form1.PDFoeffnenKontext(ParamStr(1));
      end;
end;

DeddyH 29. Nov 2012 13:56

AW: Kontextmenü, Parameterübergabe, Dateiupload
 
Setz doch mal einen Breakpoint in die erste Zeile und schau, ob dort auch angehalten wird.

P.S.: benutze doch bitte Delphi-Tags, das ist der Helm im Beitragseditor.

jacko1988 29. Nov 2012 14:11

AW: Kontextmenü, Parameterübergabe, Dateiupload
 
Habe nen Breakpoint gesetzt.
Prgramm via Delphi compiliert, Parameterübergabe ausgeführt:

Keine Reaktion.

Es passiert nichts, nichtmal in Delphi.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 Uhr.
Seite 3 von 5     123 45      

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