-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by JPSelter,
14. Jun 2006
So, da bin ich wieder. Hab den Vorschlag mit dem ReInitNode getestet, aber es wirkt sich immernoch nicht positiv auf das Programm aus. Habe auch mal dieses RepaintNode ausprobiert, aber es klappt nicht. Vielleicht liegt der Fehler woanders, ich schau nochmal rein...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by JPSelter,
9. Jun 2006
Hier etwas Code, es klappt immernoch nicht:
procedure updateSession;
var Data: PTreeData;
begin
Form1.VST1.BeginUpdate();
Data := Form1.VST1.GetNodeData(currentNode);
TSessionObject(Data.FObject).datum:=datetimetounix(Form1.DateTimePicker1.date);
Form1.VST1.EndUpdate();
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by JPSelter,
9. Jun 2006
Wann genau soll ich das ausführen? Ich habs jetzt nach der Knotenaktualisierung, aber es passiert nichts.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by JPSelter,
9. Jun 2006
So, habe heute endlich mal weitermachen können an dem Projekt. Laden und Speichern funktioniert jetzt einwandfrei. Nächstes Problem:
Ich rechtsklicke auf einen Node, um auf einem PopUpMenu "edit" auszuwählen. Dann erscheint ein neues Formblatt in das ich einen neuen Namen für den Knoten eintippe. Dann klicke ich auf Speichern und das Formblatt verschwindet. Der Name des Knotens wird nun im VST...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by JPSelter,
31. Mai 2006
OK, jetzt habe ich folgenden Code und eine EAccessViolation:
// save nodes to disk
procedure TForm1.VST1SaveNode(Sender: TBaseVirtualTree; Node: PVirtualNode;
Stream: TStream);
var
Data: PTreeData;
Len: integer;
begin
Data := VST1.GetNodeData(Node);
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by JPSelter,
31. Mai 2006
Ah, jetzt verstehe ich Dich ;) Dann muss ich das Objekt beim Laden ja neu erstellen durch ein Create. Dann mach ich das mal...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by JPSelter,
31. Mai 2006
@generic: Von OnLoad und OnSave steht da aber nichts drin ;)
Ich probiere nun, die Daten des Objekts einzeln in den Stream zu schreiben (erstmal nur der erste Parameter) mit
// save nodes to disk
procedure TForm1.VST1SaveNode(Sender: TBaseVirtualTree; Node: PVirtualNode;
Stream: TStream);
var
Data: PTreeData;
Len: integer;
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by JPSelter,
31. Mai 2006
Puh, oje, das ist mir im Moment etwas zu hoch... kannst Du mir vielleicht etwas konkreten Code zu meinem konkreten Objekt (hier ganz oben) geben? :|
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by JPSelter,
31. Mai 2006
Das hab ich jetzt nicht so erwartet ;) Nochmal gaaaanz langsam:
Problem 1: Speichern. Wie speichere ich ein Objekt? Übernimmt das Programm die interne Verwaltung der internen Objekt-Daten oder muss ich manuell an die Daten ran? Im Moment speichere ich ganz einfach das Objekt in den Stream. Er macht das auch ohne zu murren und in der Datei auf der Festplatte sehe ich einen der internen Strings...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by JPSelter,
31. Mai 2006
So, diesmal finde ich aber gar nichts zu diesem Thema: Ich will meinen Baum nun speichern. Das Tutorial behandelt aber nur das Speichern von Strings und Integer, nicht das Speichern von ganzen Objekten. Wie speichere ich da?
Ein Node kann bei mir 3 verschiedene Objekte beinhalten, die ich aber leicht über die Spalten-Nummer identifizieren kann. Ein Node hat also ein FObject, ich kann doch nicht...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by JPSelter,
31. Mai 2006
Jepp, das klappt :) Danke!
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by JPSelter,
31. Mai 2006
Weiter gehts ;)
Ich habe noch nicht viel mit Pointern und Objekten programmiert. Ich will nun die Spalte korrekt beschriften und das Tutorial hat dazu diesen Code:
procedure TForm1.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
Column: Integer; TextType: TVSTTextType; var Text: WideString);
var
Data: PTreeData;
begin
Data:=VST.GetNodeData(Node);
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by JPSelter,
31. Mai 2006
Argh, hab den Fehler gefunden... hatte im Projekt noch Überbleibsel aus dem Tutorial drin, also so Sachen wie vstFreeNode und VSTGetText, die alle ohne Objekte arbeiteten... ach menno :D Exception ist nun weg. Dann bis zur nächsten Frage ;)
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by JPSelter,
31. Mai 2006
So, jetzt stosse ich an erste Probleme. Ich habe ein Objekt erzeugt und möchte es an den Baum anhängen. Da läuft er auch durch, aber am Ende (scheinbar bevor er den VTV anzeigen will) kommt eine EAccessViolation. Ich kann den Fehler leider nicht ganz zurückverfolgen, ich weiss nur, dass er aus der VTV Klasse kommt. Delphi bleibt in der Funktion TCustomVirtualStringTree.DoGetText stehen, aber auch...