Hallo Leute
Langsam aber sicher verzweifle ich an folgender Problematik:
- Ich arbeite an einem Benutzerfreundlichen AD Programm, Benutzer erstellen, ändern löschen usw.
- Ich verwende folgene Units: ADsTLB, adshlp, AdsErr (Im Download enthalten)
Zum Problem...
Ich arbeite in diesem Zusammenhang an einer
Unit, die den Zugriff aufs AD sehr simpel gestalten soll. Nun kommt es sehr oft zu "unerklärlichen" Zugriffsverletzungen.
Schauen wir uns folgendes Beispiel an:
Delphi-Quellcode:
// Endet in Zugriffsverletzung
procedure TForm1.Button1Click(Sender: TObject);
begin
ADsMgr.ADSGroups.EnumAllGroups(CBF);
Caption := 'Zugriffsverletzung'; // <-- Zugriffsverletzung immer bei der darauf folgenden Zeile, egal was hier steht.
end;
// Endet NICHT in Zugriffsverletung
procedure TForm1.Button2Click(Sender: TObject);
begin
DUMMY;
Caption := 'KEINE Zugriffsverletzung';
end;
// Dummy function ermöglicht das Ausführen der Funktion ohne Zugriffsverletzung
procedure TForm1.DUMMY;
begin
ADsMgr.ADSGroups.EnumAllGroups(CBF);
end;
Ach ja, wenn die Exe nicht in der Entwicklungsumgebung gestartet wird, erscheint nicht mal eine Fehlermeldung, das Programm beentet einfach automatisch!
Ihr könnt euch das Beispielprogramm gerne mal anschauen. Ich versteh die Welt nicht mehr