richy08 |
14-07-2010 17:18:05 |
Cita:
Empezado por Caral
(Mensaje 370297)
Hola
Creo la conexion y el query que necesite.
Lo uso e inmediatamente despues en el acto lo destruyo.
Simple y transparente.
Se puede hacer un simple procedimiento que sea llamado cuando ya no se usen los componentes para ser destruidos.
La verdad no le veo lo complicado.
Saludos
|
si la verdad no seria complicado pero no se con certeza que es lo que pase
aunque segun yo le doy un nombre al query al querer acceder por su nombre no logro que compile
Código Delphi [-]
function TFrm_Interfaces.CreaAdo(Myusername, nombre: string; acode, estado : integer):boolean;
var
i, seleccion :integer;
begin
zConnect1:= TzConnection.Create(nil);
With zConnect1 do
begin
Parent:= Frm_Interfaces;
Name:= Myusername+'z';
Catalog:= 'lookup';
Database:= 'cdr';
HostName:= '192.168.10.3';
Password:= 'siti270';
Protocol:= 'mysql-5';
port:= 3306;
User:= 'root';
Connect;
end;
connect:= tadoconnection.Create(nil);
With Connect do
begin
connectionstring:=cadena;
loginprompt:=false;
provider:='SQLOLEDB.1';
name:=Myusername+'m';
connected;
end;
Query := TAdoquery.Create(nil);
with Query do
begin
Name := Myusername+'1';
close;
Connection:= connect;
SQL.text:='select idext, DesTel from pbx_ext where acode=:acode ';
parameters.ParamByName('acode').Value:=acode;
Parent:= Frm_Interfaces;
CursorType := ctStatic;
open;
end;
zQuery := TzQuery.Create(nil);
with zQuery do
begin
Name := Myusername+'2';
Connection:= zConnect1;
SQL.text:='update lookup set allowcalls=:allowcalls, ldesc=:ldesc where code=:code ';
Parent:= Frm_Interfaces;
end;
i:=0;
seleccion:=Query.RecordCount;
Query.First;
While ido
begin
zQuery.Close;
zQuery.ParamByName('allowcalls').Value:=estado;
zQuery.ParamByName('ldesc').Value:=nombre;
zQuery.ParamByName('code').Value:=Query.fieldbyname('idext').Value;
zQuery.ExecSQL;
i:=i+1;
Query.Next;
end;
end;
Cita:
Empezado por Neftali
(Mensaje 370334)
Me refería a los eventos de los hilos (threads) no del programa principal.
|
entonces si destruyo el hilo todo lo que se halla creado a dentro de el se destruye ???
este codigo lo uso para destruir el hilo en la parte del cliente
Código Delphi [-]
if CBClientActive.Checked then
begin
try
Client.Connect(10000); ClientHandleThread := TClientHandleThread.Create(True); ClientHandleThread.FreeOnTerminate:=True; ClientHandleThread.Resume; except
on E: Exception do MessageDlg ('Error while connecting:'+#13+E.Message, mtError, [mbOk], 0);
end;
end
else
begin
ClientHandleThread.Terminate;
Client.Disconnect;
end;
|