Einzelnen Beitrag anzeigen

Benutzerbild von anse
anse

Registriert seit: 30. Okt 2006
Ort: Neuenkirchen
194 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Nur 1 Instanz des Programmes

  Alt 23. Jan 2010, 08:07
Dieser Code aus der OneInst.pas von Oliver kompiliert nicht unter Delphi 2010 - Compiler error "inkompatible Typen":

Delphi-Quellcode:
{ kleine Hilfsfunktion die uns die Kommandozeilenparameter entpackt }
function ParamBlobToStr(lpData: PChar): string;
var
  pStr: PChar;
begin
  Result := '';
  pStr := lpData;
  while pStr[0] <> #0 do
  begin
    Result := Result + string(pStr) + #13#10;
    pStr := @pStr[lstrlen(pStr) + 1]; <<< "E2008 - incompatible types"
  end;
end;

{ kleine Hilfsfunktion die uns die Kommandozeilenparameter einpackt }
function ParamStrToBlob(out cbData: DWORD): PChar;
var
  Loop: Integer;
  pStr: PChar;
begin
  cbData := Length(ParamStr(1)) + 3; { gleich inklusive #0#0 }
  for Loop := 2 to ParamCount do
    cbData := cbData + DWORD(Length(ParamStr(Loop)) + 1);
  Result := GetMemory(cbData);
  ZeroMemory(Result, cbData);
  pStr := Result;
  for Loop := 1 to ParamCount do
  begin
    lstrcpy(pStr, PChar(ParamStr(Loop)));
    pStr := @pStr[lstrlen(pStr) + 1]; <<< "E2008 - incompatible types"
  end;
end;
Ich versteh nur nicht warum, sieht doch alles wunderbar aus oder?
Ansgar Becker
https://www.heidisql.com
Wenn du loslässt, hast du zwei Hände frei.
  Mit Zitat antworten Zitat