AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi External execption EEFFACE bei ShellExecuteEx
Thema durchsuchen
Ansicht
Themen-Optionen

External execption EEFFACE bei ShellExecuteEx

Ein Thema von gkoeder · begonnen am 24. Sep 2008 · letzter Beitrag vom 2. Okt 2008
 
gkoeder

Registriert seit: 15. Jun 2004
84 Beiträge
 
Delphi 2010 Professional
 
#1

External execption EEFFACE bei ShellExecuteEx

  Alt 24. Sep 2008, 10:12
Hallo!

Ich habe hier ein merkwürdiges und ziemlich nerviges Problem mit dem Befehl ShellExecuteEx. Die Implementierung sieht folgendermaßen aus:

Delphi-Quellcode:
  function ShellExecEx(const FileName: string; const Parameters: string; const Directory: String; const Verb: string; CmdShow: Integer): Boolean;
  var
    Info: pShellExecuteInfo;
  begin
    // Clear Info
    New(Info);
    ZeroMemory(Info, SizeOf(TShellExecuteInfo));

    // Fill in the SHELLEXECUTEINFO structure
    try
      Info.cbSize := SizeOf(tShellExecuteInfo);
      Info.fMask := SEE_MASK_FLAG_NO_UI or SEE_MASK_DOENVSUBST;
      Info.wnd := HWnd_Desktop;
      Info.lpVerb := pChar(Pointer(Verb));
      Info.lpFile := pChar(FileName);
      Info.lpParameters := pChar(Pointer(Parameters));
      Info.lpDirectory := pChar(Pointer(Directory));
      Info.nShow := CmdShow;;
      Info.hInstApp := 0;
      Info.lpIDList := nil;

      {$T+}
      Result := ShellExecuteEx(Info);
      {$T-}
      if Result = False then ShowMessage(SysErrorMessage(GetLastError));
    finally
      Dispose(Info);
    end;
  end;
Wenn ich nun eine Datei mit ShellExecuteEx starte (verb 'Open', cmdShow 'SW_SHOWNORMAL'), dann fährt mir sehr häufig die komplette IDE mit einer External Exception EEFFACE an die Wand. Ich kann dann nur noch bds.exe per Taskmanager beenden und neu starten (was das debuggen natürlich knifflig macht).
Ich hab die Routine in zwei Programmen im Einsatz und bei beiden hab ich das Problem - ich vermute also, dass es nicht am restlichen Programm liegt. Ebenso hab ich keine zusammenhänge bei den zu startenden Dateien erkennen können. Einmal klappt der Aufruf und ein andermal bekomme ich die Exception bei der selben Datei.
Die Exception wird direkt beim ShellExecuteEx-Aufruf ausgelöst.

Die Systemumgebung sieht folgendermaßen aus:
Delphi 2007 Pro mit allen aktuellen Fixpacks
Windows Vista Business

Also ich bin ziemlich ratlos (und nachdem ich die IDE die letzten Tage zahllos abgeschossen und wieder neu gestartet hab auch ziemlich frustiert). Hat jemand eine Idee, worin der Fehler liegen kann?

Gruß
Gerald
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:39 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