Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

Re: External execption EEFFACE bei ShellExecuteEx

  Alt 24. Sep 2008, 11:31
Ich weiß nicht, wie weit die Compilermagic das ausgleicht, aber mal sprichst Du Info als Pointer an und mal nicht. Ich würde das mal so abändern:
Delphi-Quellcode:
function ShellExecEx(const FileName: string; const Parameters: string; const Directory: String; const Verb: string; CmdShow: Integer): Boolean;
  var
    Info: TShellExecuteInfo;
  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;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat