Thema: Delphi Fehler mit ShellExecute

Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#1

Fehler mit ShellExecute

  Alt Gestern, 14:14
In meinem AlexOpenfileFrame suche und klicke ich eine bestimmte Datei, in diesem Fall eine PDF, und gelange
dann über einen Event hierher, um hier in einem Tabsheet eine Form zu erzeugen:

Delphi-Quellcode:
procedure TOfficerAlexMain.DoTextSelectionEvent(Sender: TObject; const ATextSelection: String);
  var LFilename: String;
begin
  FTextSelection := ATextSelection;
  if ExtractFileExt(ATextSelection) = AnsiLowerCase('.pdf') then
  begin
    LFilename := ATextSelection;
    AlexExternAppForm := TAlexExternAppForm.Create(Self);
    AlexExternAppForm.FFilename := LFilename;
    AlexExternAppForm.Parent := OfficerAlexMain.tbsAppParent;
    AlexExternAppForm.ExecuteShell;
  end;
end;
In AlexExternAppForm wird nach dem Create der folgende Code ausgeführt:


Delphi-Quellcode:
procedure TAlexExternAppForm.ExecuteShell();
begin
  if ShellExecute(AlexExternAppForm.Handle,
     'open',
     PChar(FFilename),
     nil, nil, SW_NORMAL) <= 32 then
    ShowMessage('Es ist ein Fehler aufgetreten');
end;
FFileName enthält hier den Pfad der Datei, die ich in meinem AlexOpenfileFrame angeklickt habe.
Das Resultat ist allerdings nicht beabsichtigt:

Auf dem vorgesehenen Tabsheet wird die gewünschte Form erstellt, der Name steht in der Symbolleiste, aber die Form ist leer.
Die gewünschte PDF wird in der Standard-App dargestellt, allerdings ohne sich in der vorgesehenen Form zu befinden.
(noch nicht getestet: Völlig frei auch von der Mainform.

Was mache ich falsch?

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (Gestern um 14:36 Uhr)
  Mit Zitat antworten Zitat