Thema: Delphi NetUserEnum die 2.

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 7. Feb 2003, 14:03
Moin Chris,

das hier ist schlicht falsch:

 inc(aWorkBuffer, sizeOf(PUSER_INFO_0)); Es muss schlicht

 inc(aWorkBuffer); heissen.

Da aWorkBuffer typisiert ist (eben PUSER_INFO_O), zählt der Compiler bei einem inc(aWorkBuffer) automatisch um SizeOf(PUSER_INFO_0) hoch.
Nur wenn der Typ Pointer ist, muss man sich um die Grösse der Struktur selber Gedanken machen.
Das kannst Du auch in meinen Beiträgen zu dem Ursprungsthread auch schon sehen (auch wenn ich es dort wohl nicht explizit dazugeschrieben hatte.

@Luckie:
Da man mit i hier nicht direkt einen Tabelleneintrag indiziert spielt es keine Rolle, ob man i nun von 0 bis dwEntriesRead-1, von 1 bis dwEntriesRead oder von 278 bis dwEntriesRead+277 laufen lässt. Hauptsache die Gesamtzahl der Schleifendurchläuft ist korrekt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat