Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2018, 03:50   #11
exyl
Пользователь
 
Регистрация: 15.11.2014
Сообщений: 75
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Не вижу связи.
Почему у меня-то работает? Что я делаю не так?
Не знаю. Версия 10.2?

Код:
TButtonCloseTab = class (TButton)
    private
      procedure CloseTabClick(Sender: TObject);
    public
      FParentPageControl: TPageControl;
  end;
В процедуре, которая креэйтит вкладку прописал:
Код:
NewButtonCloseTab:=TButtonCloseTab.Create(NewBrowserTab.NewPanel);
  with NewButtonCloseTab do
    begin
      Parent:=NewBrowserTab.NewPanel;
      Left:=40;
      Align:=alRight;
      Caption:='Close Tab';
      FParentPageControl:=ParentPageControl;  //ParentPageControl передается как параметр процедуры креэйта новой вкладки
      OnClick:=CloseTabClick;
    end;
Соответственно, в обработчике пишу:
Код:
procedure TButtonCloseTab.CloseTabClick(Sender: TObject);
begin
  FParentPageControl.ActivePage.Free;
end;
Все это отрабатывает как надо, но уже после энда вылетает акцесс виолейшн. Кстати, тут и try ... except ... end не помогут, т.к. оборачивать нужно сам вызов обработчика, а не его тело.
exyl вне форума Ответить с цитированием
Старый 14.02.2018, 09:15   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

У меня тоже кстати работает free закладки непосредственно в onclick кнопки. И не принципиально как достучаться до неё - то ли через паренты, то ли через активную закладку. Принципиально то, что так нельзя делать поскольку часть кода объекта может отработать после его смерти, а там как повезет. А у ТС возможно причина ошибки совсем в другом месте, например в коде обработчиков событий других объектов
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.02.2018, 09:30   #13
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

я уже написал пример, ща запощу.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.02.2018, 10:09   #14
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

О, какая красотищщщща!

Вложения
Тип файла: 7z pf_317348.x64.exe.7z (1.90 Мб, 26 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.02.2018, 15:41   #15
exyl
Пользователь
 
Регистрация: 15.11.2014
Сообщений: 75
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А у ТС возможно причина ошибки совсем в другом месте, например в коде обработчиков событий других объектов
Там из других объектов - только веббраузер (без обработчиков), и еще одна кнопка (по щелчку копирование кэпшена родительской панели в буфер). Кроме того:

Цитата:
Сообщение от min@y™ Посмотреть сообщение
О, какая красотищщщща!
Да я верю, что лично у Вас, лично в Вашей версии Делфи все работает. Мало того, не поленился, установил 2007, откомпилил, запустил - нету AV. А в 10.2 - есть.

Последний раз редактировалось exyl; 14.02.2018 в 15:44.
exyl вне форума Ответить с цитированием
Старый 14.02.2018, 15:47   #16
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от exyl Посмотреть сообщение
Да я верю, что лично у Вас, лично в Вашей версии Делфи все работает. Мало того, не поленился, установил 2007, откомпилил, запустил - нету AV. А в 10.2 - есть.
У меня 10.0, но могу дома откомпилить на токио.
Однако, этот пример я утром написал С НУЛЯ.
Исходник внутри. Скомпили его.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.02.2018, 16:07   #17
exyl
Пользователь
 
Регистрация: 15.11.2014
Сообщений: 75
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
У меня 10.0, но могу дома откомпилить на токио.
Однако, этот пример я утром написал С НУЛЯ.
Исходник внутри. Скомпили его.
Я сам когда разбирался, написал с нуля. В 10.2 вылетает ошибка без всяких дополнительных компонентов на вкладке.
Исходник внутри чего? Архива? Там только исполняемый модуль.
exyl вне форума Ответить с цитированием
Старый 14.02.2018, 16:15   #18
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от exyl Посмотреть сообщение
Я сам когда разбирался, написал с нуля. В 10.2 вылетает ошибка без всяких дополнительных компонентов на вкладке.
Исходник внутри чего? Архива? Там только исполняемый модуль.
У меня исходник автоматически при сборке добавляется в EXE. Shift+F11 нажми.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.02.2018, 16:30   #19
exyl
Пользователь
 
Регистрация: 15.11.2014
Сообщений: 75
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
У меня исходник автоматически при сборке добавляется в EXE. Shift+F11 нажми.
Автоматически добавляется, а проект не компилируется. Кто-то зачем-то напихал в программу много ненужного кода, который только отвлекает.
Ошибка:
Цитата:
brcc32 command line for "pf_317348.vrc"
c:\program files (x86)\embarcadero\studio\19.0\bin\c grc.exe -c65001 "pf_317348.vrc" -fopf_317348.res
[BRCC32 Error] "brcc32" exited with code 1.
exyl вне форума Ответить с цитированием
Старый 14.02.2018, 16:32   #20
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от exyl Посмотреть сообщение
Автоматически добавляется, а проект не компилируется. Кто-то зачем-то напихал в программу много ненужного кода, который только отвлекает.
Ошибка:
Ну не копипасть ты, не глядя, ёмаё.
Посмотри внутрь модуля ufMain.pas и возьми оттуда только нужное. И вообще, прочитай код и пойми, как он работает, и почему.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение размера динамически созданного StringGrid на динамически созданной форме loom12 Общие вопросы Delphi 2 08.09.2014 15:35
Работа с динамически созданной формой Airou C++ Builder 1 12.07.2011 10:58
Прозрачность динамически созданной формы Lime Общие вопросы .NET 1 03.04.2010 16:25
Передать Title загружаемой страницы в Caption созданной вкладки PageControl-a Verst Общие вопросы Delphi 6 24.11.2009 01:43
Событие для динамически созданной Button Dogmat Помощь студентам 8 24.07.2008 12:44