Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
|
Re: Frage zu StrCopy
27. Apr 2004, 14:49
Moin,
das ganze sah so aus:
Delphi-Quellcode:
function Read(mWnd, aWnd: HWND; data, parms: PChar; show, nopause: boolean): integer; stdcall;
var
reg: TRegistry;
s, RegRoot, RegPath, key, OldData: string;
begin
result := 3;
OldData := StrPas(data);
s := StrPas(data);
if (s = '') or (not (Pos('\', s) > 0)) then
exit;
Try
reg := TRegistry.Create;
RegRoot := Copy(s, 1, Pos('\', s)-1);
Delete(s, 1, Pos('\', s));
RegPath := Copy(s, 1, Pos('\\', s)-1);
key := s;
Delete(key, 1, Pos('\\', key)+1);
Try
with reg do
begin
RootKey := StrToHKEY(RegRoot);
if OpenKey(RegPath, false) then
case GetDataType(key) of
rdString, rdExpandString: StrCopy(data, PChar(ReadString(key)));
rdInteger: StrCopy(data, PChar(IntToStr(ReadInteger(key))));
end;
end;
except
end;
if OldData = StrPas(data) then
StrCopy(data, '');
finally
reg.Free;
end;
end;
Also "data" ist ein PChar. das mit "pchar" hab ich selbst eingegeben, weil es in C ein Char wäre, siehe hier:
int __stdcall procname(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause)
aber warum ich "data" nicht einfach was mit ":= 'blub'" zuweisen kann weiss ich immernoch nicht, könntest du das näher erklären? *g*
Mario MSN: cyanide@ccode.de
|
|
Zitat
|