Hallo,
ich stehe vor einem Problem.
Ich generiere dynamisch Spalten in mein NextGrid (Komponente von BergSoft).
Das ist alles kein Problem und funktioniert einwandfrei.
Nur jetzt würde ich gerne noch ein paar Eigenschaften der Spalten anpassen wie z.B. Position des Textes, ob sichtbar oder nicht...
Das Problem ist, dass Delphi nicht weiß, was für eine Spalte mit welchen Eigenschaften es ist (Textspalte oder Imagespalte).
Das habe ich auch gelöst, indem ich folgenden Aufruf starte:
Delphi-Quelltext
1:
| TNxImageColumn(main.gridNoten.Columns[main.gridNoten.Columns.Count-1]).Visible := false; |
wenn ich jetzt aber 5 Änderungen machen möchte, darf ich 5x diesen ewig langen Objektbezeichner schreiben.
Da dachte ich mir: Hey in PHP gibt es die Referenzen. Sowas gibt es doch bestimmt auch in Delphi. --> Pointer!
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var PColumn: ^TNxImageColumn; begin main.gridNoten.Columns.Add(TNxImageColumn, 'Löschen'); PColumn := @TNxImageColumn(main.gridNoten.Columns[main.gridNoten.Columns.Count-1]); PColumn.Images := main.ImageList; PColumn.Alignment := taCenter; |
Aber in der Zuweisung von PColumn gibt er mir jetzt eine Fehlermeldung aus:
E2046 Variable erforderlich
Die Fehlermeldung ist zwar eindeutig, aber ich verstehe das Problem echt nicht.
Die Spalte wird gesetzt, belegt Speicher und muss doch irgendwie referenzierbar sein.
Könnt ihr mir weiterhelfen?
Vielen herzlichen Dank.
gruß
Timelesk
PS: Als ich das hier eben verfasste ist mir die Möglichkeit mit
with ... do ... eingefallen.
Auch eine Lösung, aber mich interessiert trotzdem, warum das nicht klappt!
Moderiert von
Narses: Topic aus VCL (Visual Component Library) verschoben am Di 06.01.2009 um 20:19