просто без этого то код бесполезный совершенно)
Код:
@plugExec := GetProcAddress(PPluginInfo(listKomand.Items[n1])^.handle,'PluginExec');
Result:=PlugExec(UIN, Msg,PPluginInfo(listKomand.Items[n1])^.Index);
i:=random(10);
case i of
0: ;
1: Result:=Result+#10#13+rekl1;
2: Result:=Result+#10#13+rekl2;
3: Result:=Result+#10#13+rekl3;
4: Result:=Result+#10#13+rekl4;
5: Result:=Result+#10#13+rekl5;
6: Result:=Result+#10#13+rekl6;
7: Result:=Result+#10#13+rekl7;
8: Result:=Result+#10#13+rekl8;
9: Result:=Result+#10#13+rekl9;
end;
form1.MessageSend(UIN,Result,nomer);
вот так стабильно работает, перед вызовом потока делал работу с memo и label, не желательно конечно но обойдусь (хотя есть идея переписать некоторые моменты отказавшись от VCL компонентов, заменить ListBox'ы на StringList'ы к примеру)
А вот для такой работы с бд,
Код:
Query.SQL.text:='UPDATE bdbot SET INFObd=:par1 where UINbd=:par2';
Query.Parameters.ParamByName('par1').Value:=pacet.mesg;
Query.Parameters.ParamByName('par2').Value:=pacet.param2;
Query.ExecSQL;
или
Код:
Query.SQL.text:='Select UINbd from bdbot where nomber=:id';
Query.Parameters.ParamByName('id').Value:=Msg;
Query.Open;
синхронизация необходима?