Форум: "Основная";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
ВнизОкно в потоке delphi Найти похожие ветки
← →
shake-c (2006-05-29 05:16) [0]Всем привет !!!
Помогите плиз кто знает.
Нужно создать на делфи поток в котором помимо всего прочьего была бы форма и stringgrid. Создаю юнит с потоком:
-----------------------------------------------------------------
unit modul1;
interface
uses
Classes, Windows, Messages, SysUtils, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, Math, ExtCtrls, Grids;
type
th_class = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
end;
type
mf1 = class(TForm)
//matrix1: TStringGrid;
private
{ Private declarations }
public
{ Public declarations }
end;
procedure th_class.Execute;
var
matrix1: TStringGrid;
modul1f: mf1;
begin
modul1f.Create(application);
matrix1.Create(modul1f);
matrix1.colcount := 1;
matrix1.rowcount := 1;
.......
end;
-----------------------------------------------------------------
делаю в главном юните
----------------------------------------------------
var
modul1 : th_class;
begin
modul1 := th_class.Create(false);
end;
----------------------------------------------------
получаю "eror ..... acces violation at address ...."
В чём дело ? как быть ?
← →
Сергей М. © (2006-05-29 08:17) [1]Форма д.б. в основном потоке.
← →
MBo © (2006-05-29 08:17) [2]Для чего это нужно?
← →
Юрий Зотов © (2006-05-29 08:46) [3]> shake-c (29.05.06 05:16)
Сделайте наоборот - форма создает поток, а тот выполняет нужную работу.
← →
shake-c (2006-05-29 11:28) [4]что такое "д.б." и
как сделать её не в основном потоке ?
← →
Сергей М. © (2006-05-29 11:40) [5]
> что такое "д.б."
д.б. = должна быть
> как сделать её не в основном потоке ?
Никак.
← →
Сергей М. © (2006-05-29 11:42) [6]Лучше опиши задачу/ситуацию, которая привела тебя к мысли использовать доп.поток для создания/уничтожения формы и работы с ее методами/свойствами
← →
Ihor Osov'yak © (2006-05-29 12:27) [7]> > как сделать её не в основном потоке ?
не использовать vcl. Но это уже будет не форма (как это понимается в делфи).
ps. А собственно почему такое странное желание? Намного проще и стройнее в главном потоке делать необходимую физуализацию и интерфейс, а весь функционал, выполняющийся более-менее заметное время - в рабочие потоки.. Конечно, тогда возникает вопрос синхронизации, но это значительно менее трудоемка, чем делать интерфейс и визуализацию в отдельных потоках (во всяком случае - на делфи).
← →
shake-c (2006-05-30 14:45) [8]На счёт того зачем - долгая и не интересная история.
Действительно, наверно я плохо продумал архитектуру программы. Тем не менее, спасибо всем за ответы ; )
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c