Новый участник
Сообщения: 27
Благодарности: 1
|
Профиль
|
Отправить PM
| Цитировать
Я в принципе кое что сделал...
Процедура клика по пункту главного меню, которое открывает дочернее окно
procedure TMainForm.N17Click(Sender: TObject);
var F_DBConnect: TF_DBConnect;
mytab: TTabSheet;
begin
F_DBConnect := TF_DBConnect.Create(Application);
F_DBConnect.Width:=420;
F_DBConnect.Height:=340;
with PageControl1 do
begin
mytab:=TTabSheet.Create(Self);
mytab.PageControl:=PageControl1;
mytab.Caption:='Соединение с БД'; //Задаётся название вкладке на панели задач. Будет отображаться на ярлычке
mytab.Name:='sDBConn'; //Задаётся имя вкладке на панели задач
iDBConn:=mytab.PageIndex; //Переменной iDBConn присваивается индекс вкладки
PageControl1.ActivePageIndex:=iDBConn; //По индексу делается активной вкладка соответствующая данному окну.
end;
end;
Впринципе, тут всё нормально работает... даже вкладка удаляется, при закрытии окна.
Только один минус... Если повторно попытаться открыть уже открытое дочернее окно, то выскакивает ошибка, что компонент с именем в свойстве "sDBConn" уже есть... Тут надо просто проверку на открытость включит и если уже открыта, то просто сделать активной.
А вот на главной форме...
При нажатии на вкладку панели задачь выскакивает ошибка...
_____________________________________________________________________________________________
Project MyProgram.exe raised exception class EAccessViolation with message 'access violation at adress 0045BE36 in
module 'MyProgram.exe'. Read of address 000002F4'. Process stopped. Use Step or Run to continue.
-----------------------------------------------------------------------------------------------------------------------------------------------------
Процедура обработчика щелчка по вкладке (ярлыку) на панели задач
procedure TMainForm.PageControl1Change(Sender: TObject);
begin
if PageControl1.TabIndex=i1 then form1.Show;
if PageControl1.TabIndex=i2 then form2.Show; //(Вместо Show пробовал Active... Не помогло...)
end;
Индексы i1, i2, iDBConn объявляются как глобальные переменные.
Вот 100%, что я там что-то накосячил... Если подскажете мне где, буду благодарен
|
Отправлено: 12:53, 23-06-2011
| #4
|