Einzelnen Beitrag anzeigen

LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#9

Re: ShellExecute Laufzeitproblem

  Alt 16. Jan 2009, 10:53
Delphi-Quellcode:
function ShellExecute_AndWait(Operation, FileName, Parameter, Directory: string;
  Show: Word; bWait: Boolean): Longint;
var
  bOK: Boolean;
  Info: TShellExecuteInfo;
  
begin
  FillChar(Info, SizeOf(Info), Chr(0));
  Info.cbSize := SizeOf(Info);
  Info.fMask := SEE_MASK_NOCLOSEPROCESS;
  Info.lpVerb := PChar(Operation);
  Info.lpFile := PChar(FileName);
  Info.lpParameters := PChar(Parameter);
  Info.lpDirectory := PChar(Directory);
  Info.nShow := Show;
  bOK := Boolean(ShellExecuteEx(@Info));
  if bOK then
  begin
    if bWait then
    begin
      while
        WaitForSingleObject(Info.hProcess, 100) = WAIT_TIMEOUT
        do Application.ProcessMessages;
      bOK := GetExitCodeProcess(Info.hProcess, DWORD(Result));
    end
    else
      Result := 0;
  end;
  if not bOK then Result := -1;
end;
Fehlermedlung bei
bOK := Boolean(ShellExecuteEx(@Info)); --> "Unit1.pas(411,18) Error: Can't determine which overloaded function to call"

Was heißt denn das? Vll liegt es an der Syntax, ob die ein wenig unterschiedlich ist bei Lazarus und Delphi? Speziell das "@"?
  Mit Zitat antworten Zitat