Form2 nicht immer veränderbar?!?!?
-
hi.
ich habe ein kleines großes problem.
bei der Form AboutDialog sollen ein paar sachen verändert werden, unter anderem die Farbe der Form (und auch weitere Komponenten auf dem Formular). Ich verwende die CLX.
Ich habe eine Methode, die sich change_windows_skin() nennt, und eine, die sich change_copper_skin() nennt. wenn ich in change_windows_skin() das reinschreibe:AboutDialog->Color = clBlack //schwarz nur zum testdann gibts eine EAccessViolation.
wenn ich es in die prozedur eines buttons schreibe, gibt es keine probleme.
wenn ich es in den konstruktor von Form1, in meiner anwendung MainForm genannt, schreibe, gibt es wieder diese EAccessViolation Exception!was is da los??
kann mir jemand dabei helfen?
hattet ihr das problem auch schonmal?
liegt es vielleicht an der CLX? (ich will es später mal für Linux kompilieren)mfg Olf
-
Hallo Olf,
läßt Du den AboutDialog automatisch erzeugen? Dann liegt es daran, dass der AboutDialog noch gar nicht existiert, wenn Du versuchst darauf zuzugreifen.
Du kannst den Dialog aus den automatisch erzeugten Formularen heraus nehmen und im Konstruktor des MainForm manuell erzeugen.
Oder Du kannst versuchen ihn vor das MainForm zu setzen (obwohl ich nicht weiß, ob das überhaupt geht, oder ob der Dialog dann nicht das Hauptfenster der Anwendung wird...)
-
er wird nicht dynamisch erzeugt, es liegen die .h, die .cpp sowie die .xfm datei vor!
mfg Olf
-
Hi,
wenn Du den Dialog nicht dynamisch erzeugen willst, mußt Du den Code aus dem Konstruktor des MainForms in den Konstruktur des AboutDialogs, oder in die OnShow() des MainForms verschieben (OnShow wird aufgerufen, nachdem alle Konstruktoren ausgeführt wurden).
Grüße Joe_M.