Einzelnen Beitrag anzeigen

samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#12

AW: Rückgabe von CommandLineToArgvW

  Alt 17. Sep 2010, 16:46
Ja, das ist wohl war. Es gibt viele Wege zum Ziel. Es geht auch so:
Delphi-Quellcode:
procedure GetCommandLineArgs(Args: TStrings);
var
  NumArgs: Integer;
  TempArgs, p: PPWideChar;
  i: Integer;
begin
  TempArgs := CommandLineToArgvW(GetCommandLineW, NumArgs);
  try
    if TempArgs <> nil then
    begin
      p := TempArgs;
      for i := 0 to NumArgs - 1 do
      begin
        Args.Add(p^);
        Inc(p);
      end;
    end
    else
      RaiseLastOSError;
  finally
    LocalFree(THandle(TempArgs));
  end;
end;
Gegenüber der Lösung in Antwort #6 sieht das hier zwar nicht so schön aus, dafür übersteht es aber eine Bereichsprüfung.
  Mit Zitat antworten Zitat