Autor Beitrag
ami07
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 08.09.07 14:37 
Hallo, bin neu hier und vor kurzem habe angefangen mit Delphi zu programmieren.

Habe folgendes Problem:
Ich habe 2 unterschiedliche Formen (frmTest1 u. frmTest2) erstellt, die auch verschiedene Panels (Panel2 in frmTest1 u. Panel3 in frmTest2) beinhalten.
Und ich versuche folgendes im main Form zu realisieren:

procedure TfrmTest1.Button1Click(Sender: TObject);
begin
frmTest1.Panel2:= frmTest2.Panel3;
end;

damit wollte ich erreichen, dass wenn ich auf den Button klicke dann soll alles frmTest1.Panel2 übernehmen wass im frmtTest2.Panel3 beinhaltet.

Aber es zeigt kein Veränderung.
Kann jemand mir bitte erklären, warum es nicht funktioniert und wie man es lösen könnte oder ob es überhaupt möglich ist?

Dankeschön.

mfg
A.N.
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Sa 08.09.07 15:53 
In den Variablen Panel2 und Panel3 steht nur ein Zeiger zum echten Panel.
Wenn du die Variablen einander zuweist, schreibst du nur die Zeiger neu, und die eigentlichen Komponenten bleiben unverändert.

Abhilfe gibts mit Assign:

ausblenden Delphi-Quelltext
1:
Panel2.Assign(Panel3);					


Daraushin wird aber ein Panel verschwinden, da dann auch die Position gleich ist.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
ami07 Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 08.09.07 16:34 
user profile iconjakobwenzel hat folgendes geschrieben:
In den Variablen Panel2 und Panel3 steht nur ein Zeiger zum echten Panel.
Wenn du die Variablen einander zuweist, schreibst du nur die Zeiger neu, und die eigentlichen Komponenten bleiben unverändert.

Abhilfe gibts mit Assign:

ausblenden Delphi-Quelltext
1:
Panel2.Assign(Panel3);					


Daraushin wird aber ein Panel verschwinden, da dann auch die Position gleich ist.


Hallo,

ich benutze Delphi 7. Ich habe gerade es getestet, was du vorhin vorgeschlagen hast, aber ich bekomme eine Fehlermeldung, dass es nicht geht: Fehlermeldung => Cannot assign TPanel to a TPanel

danke...

mfg
A.N.