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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2011, 09:34   #1
[MoNAMur]
читер
Форумчанин
 
Аватар для [MoNAMur]
 
Регистрация: 05.10.2009
Сообщений: 150
Восклицание access violation at address при удалении страницы с TTabbedNoteBook

опять надеюсь на вашу помощь.

нужно при нажатии на кнопку закрыть(удалить) активную страницу с TabbedNoteBook

пробовал так:
Код:
procedure TMessageForm.SpeedButton1Click(Sender: TObject);
var
    TabPage : TTabPage;
begin

//
with MessageForm.TabbedNotebook1 do
begin
    if Pages.Count > 1 then
        begin
			TabPage := TTabPage(Pages.Objects[GetIndexForPage(ActivePage)]);
            TabPage.DestroyComponents;
            TabPage.Free;
        end
    else MessageForm.Hide;
end;
end;
и так

Код:
procedure TMessageForm.SpeedButton1Click(Sender: TObject);
var
    TabName : string;
begin
	if MessageForm.TabbedNotebook1.Pages.Count > 1 then
		begin
			TabName := MessageForm.TabbedNotebook1.ActivePage;
			MessageForm.TabbedNotebook1.Pages.Delete(MessageForm.TabbedNotebook1.GetIndexForPage(TabName));
		end
	else MessageForm.Hide;
end;
В обоих случаях ошибка access violation at address
$me = $me == $me ? $me : $me;

Последний раз редактировалось [MoNAMur]; 06.07.2011 в 10:09.
[MoNAMur] вне форума Ответить с цитированием
Старый 06.07.2011, 10:43   #2
[MoNAMur]
читер
Форумчанин
 
Аватар для [MoNAMur]
 
Регистрация: 05.10.2009
Сообщений: 150
По умолчанию

как иронично забавно, гугл привел меня к моему же посту
$me = $me == $me ? $me : $me;
[MoNAMur] вне форума Ответить с цитированием
Старый 06.07.2011, 11:03   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

покажите как создавали вкладку.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.07.2011, 12:28   #4
[MoNAMur]
читер
Форумчанин
 
Аватар для [MoNAMur]
 
Регистрация: 05.10.2009
Сообщений: 150
По умолчанию

Код:
PageIndex := MessageForm.TabbedNotebook1.GetIndexForPage(TabName);
	if (PageIndex > -1)
		then
			begin
     				result := PageIndex;
			end
		else
			begin
MessageForm.TabbedNotebook1.Pages.Add(TabName);

...

PageIndex := MessageForm.TabbedNotebook1.GetIndexForPage(TabName);
						result := PageIndex;
TabPage := TTabPage(MessageForm.TabbedNotebook1.Pages.Objects[PageIndex]);
						AImage := TImage.Create(TabPage);
						try
							AImage.Name := 'MAvatar'+TabName;
							AImage.Parent := TabPage;
							AImage.height := 40;
							AImage.Width := 40;
							AImage.top := 0;
							AImage.left := 0;
              AImage.Center := true;
              AImage.Picture.LoadFromFile(constant.CONTACTS_DIR+'\'+trim(ContactName)+'\avatar.jpg');
						except
							AImage.Free;
						end;
...

Upd: реализовал нужный мне функционал с помощью другого компонента, но все равно было бы интересно узнать почему с этим не работало
$me = $me == $me ? $me : $me;

Последний раз редактировалось [MoNAMur]; 06.07.2011 в 12:40.
[MoNAMur] вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Access violation at address 00447E73 in modul Project.exe. Read of address 00000057. ArtGrek Общие вопросы Delphi 40 12.03.2011 22:03
Access violation at address 00478D0E in module 'Project1.exe'. Write of address 00000000 fondreykus-1 Общие вопросы Delphi 5 27.01.2010 14:25
Access violation at address при использовании DLL spamer Общие вопросы Delphi 4 27.08.2009 22:19
Access violation at address при выполнении end elsin Общие вопросы Delphi 5 30.01.2009 10:29
Ошибка: "Access violation at address 00454F01 in module 'Project1.exe'. Read of address 00000000. Fen1x Общие вопросы Delphi 8 13.10.2007 20:13