![]() |
Nach aufklappen kein focusieren Möglich
Hi Leute,
Ich hab da ein Problem und zwar kommt immer eine Fehlermeldung, wenn ich nach dem Aufklapen des Baums den zuletz aufgenommenen Item focusieren will. Ich hab schonmal soviel rausgefunden, das nach dem aufklappen der Pointer verschwindet. Das seltsamme ist nuur das es manchmal vorkommt. Wenn ich langsam debuge entsteht der Fehler nicht.
Delphi-Quellcode:
Ich hab keine Ahnung was ich dagegen machen soll :cry:
Var
newNode : TdxTreelistNode; begin ... newNode.Parent.Expand(True); // Hier entsteht der Fehler // newNode.Data = nil / newNode.Index = -1 if (newNode <> nil) Then newNode.Focused := True; ... end; |
Re: Nach aufklappen kein focusieren Möglich
Hat den niemand einen kleinen Tipp? :?:
|
Re: Nach aufklappen kein focusieren Möglich
hast du den node denn schon irgendwo angehängt? nun, mit der komponente die du nutzt kenn ich mich net so gut aus ^^ nimm doch den VST.
Der ist Freeware und auch für einiges zu haben :-) Außerdem findest du für den schon ne ganze menge hier im Forum. EDIT: Wie heißt denn dein Fehler der da kommt? Bist du dir sicher das es dieses Objekt eigentlich gibt?! Wie heißt denn die Komponente die du benutzt GENAU? |
Re: Nach aufklappen kein focusieren Möglich
Also ich verwende dir Komponente dxTreeList
Und bei Fehlermeldung kommt "Zugriffsverletzung bei der Adresse 03007E28. Schreiben von Adresse 7326D0EA" |
Re: Nach aufklappen kein focusieren Möglich
Hast Du denn vorher überprüft, on newNode.Parent <> nil ist?
|
Re: Nach aufklappen kein focusieren Möglich
Hab's mal eingebaut. Trotzdem kommt der Fehler :wall:
Delphi-Quellcode:
Var
newNode : TdxTreelistNode; begin ... newNode.Parent.Expand(True); // Hier entsteht der Fehler // newNode.Data = nil / newNode.Index = -1 if (newNode <> nil) and (newNode.Parent <> nil) Then newNode.Focused := True; ... end; |
Re: Nach aufklappen kein focusieren Möglich
Und wo holst du newNode her? Wo wird die Instanz geholt bzw. angelegt? Wird die noch woanders freigegeben?
|
Re: Nach aufklappen kein focusieren Möglich
Zitat:
|
Re: Nach aufklappen kein focusieren Möglich
Zitat:
Wenn Du einen Breakpoint setzt und schrittweise debugst, wird sich Dein Formular teilw. neu zeichnen. Evtl. macht das den Unterschied. Vielleicht kannst Du Deine Komponente veranlassen, sich zwischendurch ausdrücklich neu zu zeichnen oder zumindest einmal ein ProcessMessages versuchen... Stahli |
Re: Nach aufklappen kein focusieren Möglich
Also ich hab jetzt soviel rausgefunden, das nach dem öffnen des Baums die Items neu geladen werden.
Dadurch passierts, dass sich die Speicheradressen ändern, weil doppelte rausfliegen und sich der Baum sortiert.
Delphi-Quellcode:
Parent ist aufjedenfall da, weil in AddMissingObject ein Parent angelegt wird, falls keiner da ist.
Procedure AddNewObjekt(NewObjektname : String);
Var NewNode : TdxTreelistNode; begin NewNode := AddMissingObjects (NewObjektname); newNode.Parent.Collapse(True); newNode.Parent.Expand(True); // Hier entsteht der Fehler // newNode.Data = nil / newNode.Index = -1 If (NewNode <> Nil) Then Begin newNode.Focused := True; End; End; @stahli Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz