Текущий архив: 2005.07.31;
Скачать: CL | DM;
Вниздинамические ADO в потоках Найти похожие ветки
← →
_Anton (2005-06-22 10:54) [0]Возможно ли в принцепе создавать динамически объекты ADO_Connection и ADO_Query в отдельном потоке?
пробовал так:
ADOC_Load_File = new TADOConnection(this);
ADOQ_Load_File_Base = new TADOQuery(this);
ADOC_Load_File->Name = "ADOC_Load_File";
ADOC_Load_File->LoginPrompt = false;
ADOC_Load_File->KeepConnection = false;
ADOC_Load_File->Provider = "MSDAORA.1";
ADOC_Load_File->ConnectionString = DataModule1->Get_ADOC_For_select_ConnectionString();
ADOQ_Load_File_Base->Name = "ADOQ_Load_File_Base";
ADOQ_Load_File_Base->Connection = ADOC_Load_File;
ADOQ_Load_File_Base->SQL->Add("select id, direction, name, description from ex_connectors where direction="I" order by name");
в итоге ничего не выходит, компилятор не дает создать объект
со ссылкой this на поток.
Если так нельзя, то остается одно - динамически создавать в
главном потоке, а потом синхронизировать;
Может существует более красивое решение?
← →
ЮЮ © (2005-06-22 11:04) [1]>компилятор не дает создать объект со ссылкой this на поток
Создай с nil. Ибо, поток, естестественно, не может содержать компонеты, а невизуальному компоненту по барабану, кто его Parent, только за удаление сам отвешаешь.
← →
ЮЮ © (2005-06-22 11:06) [2]кто его Owner, конечно
← →
Digitman © (2005-06-22 11:18) [3]
> Может существует более красивое решение?
ADOC_Load_File := TADOConnection.Create(nil);
try
.. что угодно ...
finally
ADOC_Load_File.Free;
end;
куда уж "красивее" ..
← →
_Anton (2005-06-22 15:01) [4]Всем спасибо.
Поставил создание обьектов ADO в конструктор
удаление - в диструктор класса;
NULL - работает
Страницы: 1 вся ветка
Текущий архив: 2005.07.31;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.092 c