Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 14.02.2018, 17:38   #21
exyl
Форумчанин
 
Регистрация: 15.11.2014
Сообщений: 66
Репутация: 35
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Ну не копипасть ты, не глядя, ёмаё.
Посмотри внутрь модуля ufMain.pas и возьми оттуда только нужное. И вообще, прочитай код и пойми, как он работает, и почему.
Молодой человек, мне некогда разбирать Ваш код с приколами, чтобы убедится, что да, ошибка в моем есть. Я лучше уделю это время на совет Алара.
exyl вне форума   Ответить с цитированием
Старый 14.02.2018, 17:41   #22
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 7,137
Репутация: 2042

icq: 100500
skype: kick-ass
По умолчанию

Цитата:
Сообщение от exyl Посмотреть сообщение
Молодой человек, мне некогда разбирать Ваш код с приколами, чтобы убедится, что да, ошибка в моем есть. Я лучше уделю это время на совет Алара.
__________________
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума   Ответить с цитированием
Старый 17.02.2018, 05:04   #23
exyl
Форумчанин
 
Регистрация: 15.11.2014
Сообщений: 66
Репутация: 35
По умолчанию

Ситуация прояснилась.
Поубирал вызовы процедуры создания вкладок из внешнего модуля, кнопку закрытия расположил на форме в дизайн-тайме, закрываю вкладку просто:
Код:

if PageControl_Browser.Visible and (PageControl_Browser.ActivePageIndex>0) then
    PageControl_Browser.Pages[PageControl_Browser.ActivePageIndex].Free;

Тут стоят проверки на:
  • видимость всего пейджконтрола (т.к. может быть виден другой, с логом, его трогать нельзя)
  • на номер вкладки (нельзя закрывать самую первую с индексом [0], она создана в дизайн-тайме и всегда присутствует)

Если на вкладке нет TWebBrowser'а, то и ошибок нет.
Если создать еще одну вкладку с браузером в ран-тайме и после ее закрытия кликнуть на ярлычке оставшейся (первой) вкладки, то вылетает ошибка доступа к памяти.
Если создавать несколько вкладок, и закрывать их, то ошибок иногда нет (закономерность понял не до конца).

Есть какие-то соображения, что это такое и как лечится?
И почему при удалении вкладки не наступает события OnChange пейджконтрола, а если его вызвать вручную (даже с пустым телом), то сразу получаю акцесс виолейшн?

Последний раз редактировалось exyl; 17.02.2018 в 08:45.
exyl вне форума   Ответить с цитированием
Старый 17.02.2018, 18:15   #24
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 7,137
Репутация: 2042

icq: 100500
skype: kick-ass
По умолчанию

Цитата:
Сообщение от exyl Посмотреть сообщение
Я лучше уделю это время на совет Алара.
ну как, время было потрачено не зря, чувак?
__________________
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума   Ответить с цитированием
Старый 17.02.2018, 18:28   #25
exyl
Форумчанин
 
Регистрация: 15.11.2014
Сообщений: 66
Репутация: 35
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
ну как, время было потрачено не зря, чувак?
Если ты о своем, то точно зря )
И я бы его потратил так же, ковыряя неизвестно зачем навороченный пример. Кроме того, нет веббраузера - нет ошибок, чувак (тут так принято обращаться?).
exyl вне форума   Ответить с цитированием
Старый 17.02.2018, 18:34   #26
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 7,137
Репутация: 2042

icq: 100500
skype: kick-ass
По умолчанию

Цитата:
Сообщение от exyl Посмотреть сообщение
Если ты о своем, то точно зря )
И я бы его потратил так же, ковыряя неизвестно зачем навороченный пример. Кроме того, нет веббраузера - нет ошибок, чувак (тут так принято обращаться?).
Да не надо так слюной брызгать. Достаточно было ответить "да" или "нет".
__________________
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума   Ответить с цитированием
Старый 21.02.2018, 18:44   #27
exyl
Форумчанин
 
Регистрация: 15.11.2014
Сообщений: 66
Репутация: 35
По умолчанию

Проблема решена.
Я до сих пор не имею понятия, кто и зачем обращался к браузеру при освобождении вкладки, но проблемы исчезли, когда я сначала прописал освобождение браузера, а потом вкладки:
Код:

procedure TForm_Main.Action_BrowserCloseTabExecute(Sender: TObject);
begin
  if PageControl_Browser.Visible then  //только если виден педж контрол с браузерными вкладками
    if PageControl_Browser.ActivePageIndex>0 then  //первая вкладка не закрывается никогда
      begin
        TMyBrowserTabSheet(PageControl_Browser.Pages[PageControl_Browser.ActivePageIndex]).FBrowser.Free;  //вручную освобождаем браузер, который хранится в FBrowser типа TexBrowserTabSheet  = class(TTabSheet)
        PageControl_Browser.Pages[PageControl_Browser.ActivePageIndex].Free;  //освобождаем вкладку
        PageControl_BrowserChange(Sender);  //инициируем процедуру при смене вкладки
      end;
end;

exyl вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение размера динамически созданного 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 02:43
Событие для динамически созданной Button Dogmat Помощь студентам 8 24.07.2008 12:44




02:10.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
лучший хостинг
Выбираем лучший хостинг: рейтинг ТОП 10
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru