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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
3-22571
dymka
2002-03-16 13:11
2002.04.08
Как сделать правильно вызов функции в IB?


14-22842
skywalker
2002-02-26 14:47
2002.04.08
Нибиру


14-22820
Baz
2002-02-27 09:27
2002.04.08
ФАКТОРНЫЙ АНАЛИЗ


1-22759
Толик
2002-03-26 17:07
2002.04.08
вызов функции-члена класса


1-22720
новенький в Делфи
2002-03-25 10:26
2002.04.08
Задержка программы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский