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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2010, 15:34   #11
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Другое дело что автор для нее Parent не указывает, потому ей возможно негде отрисовываться.
а как ей Parent указать на TForm2???
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 21.06.2010, 15:35   #12
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

А надо TForm2? У тебя форма будет создаваться из TForm2? Тогда однозначно рецепт Стилета.... Передавай в качестве Parenta Self. Self - значит я, меня. То есть здесь в качестве родителя указывается текущий объект (если создаешь из TFrom2, то это он и будет).
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(self.classname + #13#10 + self.name);
end;
Вот побалуйся.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 21.06.2010 в 15:38.
Utkin вне форума Ответить с цитированием
Старый 21.06.2010, 15:40   #13
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

Вот именно Self не получится, т.к. Форма TForm1 создается из модуля, в котором реализован поток, а не из того, где реализована TForm2.
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 21.06.2010, 15:41   #14
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
проблема такая, что в потоке у меня создается форма
потоки и VCL(создание, показ форм) совмещаются при помощи функции Synchonize

procedure TMyThread.ShowForm;
begin
f:=TForm1.Create(nil);
f.showModal;
f.Free;
end;

procedure TMyThead.Excecute;
begin
// что-то делаем очень долго
.............
// захотели показть и приостановли поток(showmodal)
synchronize(Showform);
// продолжили что-то делать
.........
end;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 21.06.2010, 15:54   #15
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
потоки и VCL(создание, показ форм) совмещаются при помощи функции Synchonize

procedure TMyThread.ShowForm;
begin
f:=TForm1.Create(nil);
f.showModal;
f.Free;
end;

procedure TMyThead.Excecute;
begin
// что-то делаем очень долго
.............
// захотели показть и приостановли поток(showmodal)
synchronize(Showform);
// продолжили что-то делать
.........
end;
Спасибо, что напомнили, сам еще в начале хотел через синхронизацию сделать, да че-то вылетело из головы, что так и нужно делать. Через синхронизацию таки заработало.
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Form1.Caption + Form1.sTabSheet artemavd Общие вопросы Delphi 9 22.09.2009 15:55
TForm1 изменить размер gakuseix Компоненты Delphi 16 18.06.2009 19:02
как визывать Tform1 из Console andreibtzt Общие вопросы Delphi 2 28.04.2009 16:01
Что означает TForm1 = class(TForm)>/STRONG> metamfetamin Помощь студентам 6 11.11.2007 22:40
Form1.Hide и Form1.Show... Roof Общие вопросы Delphi 9 13.10.2007 13:33