Hallo
| Zitat: |
Nur: Im OnExit des Memos, ist Memo1.Text (noch) LEER !
Das gleiche gilt für das Edit ! icon_eek.gif
|
glaub ich dir nicht, wenn du die key??? etc ereignisse verwendest, hast du den Text ja auch schon zur verfügung
Quelltext
1: 2: 3: 4:
| procedure TForm1.Memo2Exit(Sender: TObject); begin memo3.text:=memo2.text; end; |
steht bei mir schön der Text vom memo2 im memo3 drin.
| Zitat: |
PNodeData(ActNode.Data)^.Text1
|
darin war ich noch nie gut - das ist das gleiche wie PNodeData(ActNode.Data).Text1 , weil das Delphi selbst erledigt, oder ??
ähmm, mit Recors arbeite ich seltener, ich bau mir immer objekte. das wird mit deinen records aber auch nicht anders aussehen
hab folgendes mit einer Listbox, Memo und Button kurz gestestet:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:
| procedure TForm1.Button1Click(Sender: TObject); //einträge hinzufügen Var SL:Tstrings; begin sl:=TStringlist.create; sl.add('Test text'); listbox1.items.addobject('Test',sl); end;
procedure TForm1.ListBox1Click(Sender: TObject); //hinterlegten Text des Listboxeintrages im Memo anzeigen Var sl:Tstrings; begin if listbox1.itemindex<>-1 then begin sl:=Tstrings(listbox1.items.objects[ListBox1.itemindex]); memo1.lines.assign(sl ); end; end;
procedure TForm1.Memo1Exit(Sender: TObject); //memotext in listboxitem übertragen Var sl:Tstrings; begin if listbox1.itemindex<>-1 then begin sl:=Tstrings(listbox1.items.objects[ListBox1.itemindex]); sl.assign(memo1.lines); end; end;
procedure TForm1.FormDestroy(Sender: TObject); //belegten speicher freigeben Var i:integer; sl:tstrings; begin for i:=0 to listbox1.items.count-1 do begin sl:=Tstrings(listbox1.items.objects[i]); sl.free; end; end; |
was passiert denn bei dir bei Nodechanged?
| Zitat: |
Achja, nochwas: Ich 'Erzeuge' ja mit New(NodeData) irgendwo Speicher für den Record. Muss ich den selber wieder freigeben, oder macht das Delphi, wenn der Knoten gelöscht wird? icon_confused2.gif
|
ja. nur eine Objectlist gibt (auf Wunsch) ihre objekte auch selbst frei.
Wenn du dir nicht sicher bist, ob du allen belegten Speicher freigibst, google nach
memproof damit findest du alles Speicherlecks, das Prog ist echt spitze! hab den code oben aber nicht mit memproof getest, weil ich hier nur D3 hab.
| Zitat: |
PNodeData(ActNode.Data)
|
hier würd ich vorher auch noch prüfen, ob actnode nicht nil ist.was ist, wenn der user zuerst das memo anklickt ohne eine Node ausgewählt zu haben?
mfg Frank