Moin, Moin
warum passiert es hier?
Zitat:
ShowMessage(EdContainerPath.Text); // <--- ZUGRIFFSVERLETZUNG jetzt hier?
Ganz einfach: Es wird mit Interfaces gearbeitet. Das 'schöne' daran das die Variablen freigegeben werden sobald sich nicht
mehr gebraucht werden(aus Sicht des Interface).
Beispiel:
Delphi-Quellcode:
...
sContainerPath := EdContainerPath.Text;
if AdsMgr.ADSObject.MoveTo(ADSPATH_OF_CURRENT_USER, sContainerPath) then
txt := '- Benutzer wurde erfolgreich nach "'+sContainerPath+'" verschoben.' // <--- ZUGRIFFSVERLETZUNG !!!
...
Egal ob der Aufruf erfolgreich war oder nicht,
sContainerPath wird aus Sicht des Interfaces nicht mehr
benötigt, deshalb die Zugriffsverletzung.
Ein:
Delphi-Quellcode:
...
sContainerPath := EdContainerPath.Text;
if AdsMgr.ADSObject.MoveTo(ADSPATH_OF_CURRENT_USER, sContainerPath) then
txt := '- Benutzer wurde erfolgreich nach "'+ EdContainerPath.Text +'" verschoben.'
...
wird jedoch funktionieren, da ja mit EdContainerPath.Text weiter gearbeitet wird.
Es gibt in diesem Zusammenhang noch einige andere Ungereimtheiten, die ich jetzt nicht erklären kann, da ich keine Zugriff
auf meine Dateien/Projekte habe(die liegen zu Hause). Also notfalls noch einmal melden.
Bis Bald