Die Antwort von Dsm ist die richtige Antwort auf die gestellte Frage.
Aber aus einer Design-Perspektive, während das funktioniert, erfordert es den aufrufenden Code, um Kenntnisse von Form2 Interna, die keine gute Klasse Kapselung. Ich würde stattdessen ein Datenelement zu Form2
fügen Sie die gewünschte Seite, um anzuzeigen, in der Form der OnShow
Ereignis anzuzeigen, und dann dieses Element festlegen, bevor Show()
Aufruf, zum Beispiel:
type
TWhichTab = (wtNone, wtTab1, wtTab2, ...);
TForm2 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
...
procedure FormShow(Sender: TObject);
...
public
...
InitialTab: TWhichTab;
end;
procedure TForm2.FormShow(Sender: TObject);
begin
PageControl1.ActivePageIndex := Ord(InitialTab)-1;
end;
Form2.InitialTab := wtTab2;
Form2.Show();
Form1.Hide();
ich regelmäßig jede verwenden dieser Befehle ohne Probleme. Also, was genau ist dein Problem? Ich denke, dass Sie ein bisschen mehr als das geben müssen, vorzugsweise ein kleines Beispielprogramm, das Ihr Problem zeigt. Bitte erkläre auch, ob es Firemonkey oder VCL ist und welche Version von Delphi du verwendest. – Dsm
Seine VCL. Es sagt, dass 'Nicht deklarierte Bezeichner: 'TabSheet1'' - Delphi 7 –