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

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - 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