Mam klasę:
type
TThreadTEST = class(TThread)
private
IP: string;
SNMP: TIdSNMP;
public
constructor Create(AddressIP: string);
destructor Destroy; override;
protected
procedure Execute; override;
end;
Następnie:
destructor TThreadTEST.Destroy;
begin
SNMP.Free;
inherited;
end;
constructor TThreadTEST.Create(AddressIP: string);
begin
inherited Create(False);
IP := AddressIP;
SNMP := TIdSNMP.Create(nil);
end;
procedure TThreadTEST.Execute;
begin
FreeOnTerminate := true;
SNMP.Host := IP;
//...
end;
Czy powyższy sposób tworzenia komponentu w wątku TIdSNMP.Create(nil);
oraz jego usunięcia za pomocą SNMP.Free;
jest poprawny ?
Dla TIdSNMP nie wyskakują żadne błędy, ale dla innych komponentów np. z paczki IP WORKS, wyskakuje błąd i dlatego nie wiem czy jest to moja wina czy właśnie tamtych kontrolek.