Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.11.09;
Скачать: [xml.tar.bz2];

Вниз

вопрос про поток.   Найти похожие ветки 

 
Сергей М. ©   (2008-09-29 12:11) [40]


> при чём тут мемо и т.п.


мемо тут действительно ни причем, а вот "и т.п." оч даже причем.

Ну не желаешь отвечать - парься тогда сам)


 
Сергей М. ©   (2008-09-29 12:14) [41]


> почему в дочернем потоке не может осуществить конект


Кто сказал что "не может", кроме тебя ?
Никто и не сказал, это лишь плод твоего нездорового воображения)

До коннекта и дело-то не доходит - AV возникает еше до коннекта !


 
vegarulez ©   (2008-09-29 12:19) [42]


> Vlad Oshin ©   (29.09.08 12:07) [37]


> vegarulez ©   (29.09.08 12:11) [39]
> Vlad Oshin ©   (29.09.08 12:07) [37]не знаю как этим пользоваться.
>


поискал и нашёл про это

Прочёл
http://www.interface.ru/home.asp?artId=3447

сделал вот так в потоке:
uses ... ComObj, ActiveX...
...
procedure Tmsgsend.Execute;
var
s:string;
i,j:integer;
smsg: array[0..4] of string;
myzconection: TZConnection;
myzquery: TZQuery;
myList:TstringList;
begin
  CoInitFlags := COINIT_MULTITHREADED;
try
 myList:=TStringList.Create;
 j:=0;
 myzconection:= TZConnection.Create(nil);
 myzquery:= TZQuery.Create(nil);
 With myzconection do
  try
   Database:="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\a.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False";
   Protocol:="ado";
   Loginprompt:=false;
   Connected:=true;
   except on E: Exception do
      MessageDlg("Error" +#10#13+ E.Message +#10#13+ inttostr(E.HelpContext), mtWarning,[mbOk], 0);
   end;
....


всё заработало.


 
Vlad Oshin ©   (2008-09-29 12:19) [43]

unit SendMail;

interface

uses
Classes, SysUtils, QDialogs, ZAbstractRODataset, ZAbstractDataset, ZDataset, ZConnection;

type
Tmsgsend = class(TThread)
private
  { Private declarations }
protected
  procedure Execute; override;
end;

implementation
uses  unit1;

procedure Tmsgsend.Execute;
var
s:string;
i,j:integer;
smsg: array[0..4] of string;
myzconection: TZConnection;
myzquery: TZQuery;
myList:TstringList;
begin

//FormMain.sendmail:=1;
try
myList:=TStringList.Create;
j:=0;

CoInitializeEx (NIL, COINIT_APARTMENTTHREADED); //так или константы может другие, из по F1

myzconection:= TZConnection.Create(nil);
myzquery:= TZQuery.Create(nil);
With myzconection do
 try


 
sniknik ©   (2008-09-29 12:21) [44]

> ну канеш так работает. тоже самое и содержится в буттоне2.
я просил не так, просто создание, без остального "что содержится в буттоне2."

и объяснил зачем
> проверить, нужна инициализация или внутренний обьект

ты хоть читай что тебе пишут то, пытайся понять...


 
vegarulez ©   (2008-09-29 12:23) [45]

Так что
Vlad Oshin ©   (29.09.08 12:19) [43]
Спасибо!


 
Сергей М. ©   (2008-09-29 12:24) [46]


> всё заработало


Если рассказанные тобой чудеса действительно имели место быть, то Zeos можно смело выкинуть в топку - компонент обязан был возбудить совершенно иное исключение


 
sniknik ©   (2008-09-29 12:29) [47]

> сделал вот так в потоке:
> CoInitFlags := COINIT_MULTITHREADED;
т.е. все таки все упиралось с инициализацию ком-а (coinitialize и иже с ними...) а зеос вместо нормальной ошибки по этому поводу рушился в AV... забавные компоненты.
в печку их, вместе с Марксом и этим как его там Энгельсом! © профессор Преображенский

задумался бы о смене их на нормальные что ли...


 
sniknik ©   (2008-09-29 12:30) [48]

> то Zeos можно смело выкинуть в топку
;), не подсматривал....


 
Сергей М. ©   (2008-09-29 12:39) [49]


> sniknik ©   (29.09.08 12:30) [48]


Охотно верю)


 
vegarulez ©   (2008-09-29 13:34) [50]

Сергей М. ©   (29.09.08 12:24) [46]

Какое? Что типа не может создать конектинон или то что сам не может подгрузить необходимую модель для конектинона?
просто видишь странно... в основном потоке он(компонент) же нормально создал конектион и всё сделал. а как только вышел за пределы основного - уже ничего сделать не смог...


 
Сергей М. ©   (2008-09-29 13:44) [51]


> Какое?


В дословном переводе с буржуйского текст сообщения об исключении должен был быть следующим "Не был произведен вызов CoInitialize".

В тех же условиях ADO выдаст именно такое исключение. И не только ADO, но и многие другие "приличные" компоненты, использующие OLE/COM-механизмы.


 
Сергей М. ©   (2008-09-29 13:48) [52]


> просто видишь странно


Не столько странно, сколько страшно, если делать ставку на этот компонент в большом и серьезном проекте.
Если он такие фортели выкидывает уже при коннекте, то чего ожидать от него при дальнейшей работе ?

Короче - "фтопку", без вариантов)


 
Anatoly Podgoretsky ©   (2008-09-29 14:06) [53]

> Сергей М.  (29.09.2008 13:44:51)  [51]

Нормальный продукт уменьшает количество ошибок кодом except end;


 
sniknik ©   (2008-09-29 14:08) [54]

> в основном потоке он(компонент) же нормально создал конектион и всё сделал. а как только вышел за пределы основного - уже ничего сделать не смог...

sniknik ©   (29.09.08 11:41) [21]
> Да неиспользую я ADO... Zeos юзаю!!!
> народ повнимательнее плз....
зато зеос его использует, а ado нужен coinitialize() на каждый поток.



Страницы: 1 2 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.11.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.006 c
15-1221385173
Ламо777
2008-09-14 13:39
2008.11.09
Бесплатный хостинг с PHP 5 и MySQL


15-1221427557
Германн
2008-09-15 01:25
2008.11.09
Копирование файлов в Автозагрузке


2-1222860218
renex
2008-10-01 15:23
2008.11.09
не передается динамический массив в функцию


6-1195038106
Vice____
2007-11-14 14:01
2008.11.09
пересылка файла через сокеты


15-1221026764
oldman
2008-09-10 10:06
2008.11.09
Взлетит или не взлетит?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский