Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.08;
Скачать: CL | DM;

Вниз

Проблемма   Найти похожие ветки 

 
Turalyon ©   (2002-03-14 13:23) [0]

Привет всем!
Есть проблемма.
Вот процедура....


procedure TForm1.WriteToBase (CompName : String; LogArr : array of LogStat);
var i, CTime : cardinal;
LogDB : TIBDatabase;
LogTransaction : TIBTransaction;
SelIBQry, CompIBQry, SoftIBQry: TIBQuery;
CompId, SoftId : Cardinal;
begin
Memo1.Lines.Add("Вошли " + IntToStr(length(LogArr)));


try

LogDB := TIBDatabase.Create(self);
LogDB.DatabaseName := "C:\Work\BEHOLDER.GDB";
LogDB.Params.Add("user_name=sysdba");
LogDB.Params.Add("password=masterkey");
LogDB.Params.Add("lc_ctype=WIN1251");
LogDB.LoginPrompt := False;

LogTransaction := TIBTransaction.Create(self);
LogTransaction.DefaultDatabase := LogDB;

LogDB.DefaultTransaction := LogTransaction;

SelIBQry := TIBQuery.Create(self);
SelIBQry.Database := LogDB;
SelIBQry.Transaction := LogTransaction;

CompIBQry := TIBQuery.Create(self);
CompIBQry.Database := LogDB;
CompIBQry.Transaction := LogTransaction;
CompIBQry.SQL.Add("insert into COMPUTER");
CompIBQry.SQL.Add("(C_NAME)");
CompIBQry.SQL.Add("values");
CompIBQry.SQL.Add("(:C_NAME)");

SoftIBQry := TIBQuery.Create(self);
SoftIBQry.Database := LogDB;
SoftIBQry.Transaction := LogTransaction;
SoftIBQry.SQL.Add("insert into SOFTWARE");
SoftIBQry.SQL.Add("(S_NAME, S_DESCRIPTION)");
SoftIBQry.SQL.Add("values");
SoftIBQry.SQL.Add("(:S_NAME, :S_DESCRIPTION)");

LogDB.Connected := True;
Memo1.Lines.Add("Создали компоненты " + IntToStr(length(LogArr)));


Она не заканчивается на этом месте.. но дальше она и не идет...
Ситуация такая - прога работает с Socket eй по сетке приодит информация и она ее обрабатывает. Вот в этой процедуре происходит затык, если информация приходит сразу от нескольуих машин. Создавать компоненты динамически пришлось потому что если опять же придет информация от нескольких машин произойдет затык - статические компоненты уже используются....
Если приходит информация только от одного все работает от двух одновременно просто подвискает.
Второго добавления в Memo не происходит...
Как с этим бороться? Я подумал можетразбить это по птокам, но с ними не работал, по этому не знаю поможет ли....


 
Turalyon ©   (2002-03-14 13:33) [1]

В догонку.... затык происходит на сточке
LogDB.Connected := True;
Только что посмотрел, до этого места все выводит...


 
Johnmen ©   (2002-03-14 13:41) [2]

А хоть один раз отрабатывает ?


 
Turalyon ©   (2002-03-14 13:49) [3]

Если приходит от одной машины то все работает, если же одновременно то на стоке
LogDB.Connected := True
Подвисает. И обе процедуры (в смысле одна процедура) дальше не идут.



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

Текущий архив: 2002.04.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
14-22799
Blackweber
2002-02-21 23:51
2002.04.08
Возведение в степень в TP7.0


3-22560
Юрий Жуков
2002-02-22 12:04
2002.04.08
Delphi 6 Update 2 - Первые впечатления


14-22796
skywalker
2002-02-26 13:48
2002.04.08
Фортран


1-22686
Goblinus
2002-03-26 13:44
2002.04.08
ComboBox


1-22698
SPeter
2002-03-23 23:32
2002.04.08
Помогите с сообщениями плиз