Thema: Delphi Frage zu StrCopy

Einzelnen Beitrag anzeigen

Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#5

Re: Frage zu StrCopy

  Alt 27. Apr 2004, 13: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
  Mit Zitat antworten Zitat