Also, nochmal *wimmer*:
Delphi-Quellcode:
procedure ListAllUsers(hTreeView: DWORD; hMasterParent: Cardinal; var iEntriesRead: Cardinal);
var
aTempIStruct: TTVInsertStruct;
aUserBuffer, aWorkBuffer: PUSERINFO0;
dwEntriesRead: Cardinal;
i: integer;
sTemp: string;
begin
aTempIStruct.item.mask := TVIF_TEXT;
{27 =>} if NetUserEnum(nil, 0, FILTER_NORMAL_ACCOUNT, @aUserBuffer{<=}, MAX_PREFERRED_LENGTH,
dwEntriesRead, dwEntriesRead, nil) = NERR_SUCCESS then begin
aWorkBuffer := aUserBuffer;
for i:=0 to dwEntriesRead-1 do begin
aTempIStruct.hParent := Pointer(hMasterParent);
sTemp := {PUserInfo0(}aWorkBuffer{)^}.usri0_name;
aTempIStruct.item.pszText := @sTemp[1];
SendMessage(hTreeView, TVM_INSERTITEM, 0, integer(@aTempIStruct));
inc({integer(}aWorkBuffer{), sizeOf(PUSERINFO0)});
end;
end;
NetAPIBufferFree(aUserBuffer);
end;
Kommentare deswegen, dass ich alles schnell wiederrückgängig machen kann.
Nun, wenn ich das so mache (die Typen-deklarationen sind bereits in den Units drin; das gleiche, wenn ich sie reinschreibe), dann gibts den Fehler:
Zitat:
[Error] UserInfo.pas(27): Types of actual and formal var parameters must be identical
Chris