Einzelnen Beitrag anzeigen

Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#1

Programm funktioniert nur unter XP

  Alt 2. Jan 2006, 12:08
Hallo zusammen,

meine WE-Anforderung liegt in den allerletzten Zügen. In meiner Access-Version hatte ich beim speichern noch eine Batchdatei ausführen lassen, damit diverse WE-Anforderungen nicht "Rückdatiert" werden können. Ich habe dann hier und bei Swissdelphicenter eine hübschen Code gefunden, der die Batchdatei ausführt und wartet bis diese beendet ist. Es kann nur mit dem Ausführbefehl zu tun haben, das mein Programm unter XP einwandfrei funktioniert und W98-Kisten gar nichts mehr machen. hier mal der C&P-Code
Delphi-Quellcode:
procedure ShellExecute_AndWait(FileName: string; Params: string);
var
  exInfo: TShellExecuteInfo;
  Ph: DWORD;
begin
  FillChar(exInfo, SizeOf(exInfo), 0);
  with exInfo do
  begin
    cbSize := SizeOf(exInfo);
    fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_FLAG_DDEWAIT;
    Wnd := GetActiveWindow();
    ExInfo.lpVerb := 'open';
    ExInfo.lpParameters := PChar(Params);
    lpFile := PChar(FileName);
    nShow := SW_Hide;
  end;
  if ShellExecuteEx(@exInfo) then
    Ph := exInfo.HProcess
  else
  begin
    ShowMessage(SysErrorMessage(GetLastError));
    Exit;
  end;
  while WaitForSingleObject(ExInfo.hProcess, 50) <> WAIT_OBJECT_0 do
    Application.ProcessMessages;
  CloseHandle(Ph);
end;
Hier der Aufruf:
Delphi-Quellcode:
Procedure TForm1.dssave;
var datum:TDate;
    zeit:TTime;
Begin
  shellexecute_Andwait('W:\fohrer\nettime.bat','');
Hatte hier mal was von einem Schalter /C gelesen konnte ihn aber irgendwie nicht anwenden.

Danke Ati
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat