Thanks Zeljko, It works

 
[]s Daniel

Conheça o Projeto ACBr - Automaçao Comercial Brasil
DJSystem a Loja Patrocinadora do ACBr



>________________________________
> De: zeljko <[email protected]>
>Para: [email protected] 
>Enviadas: Sábado, 31 de Março de 2012 3:47
>Assunto: Re: [Lazarus] TStringList.Destroy generate SIGSEGV with Zeos 6.6.6
> 
>
>On Friday 30 of March 2012 16:37:09 Daniel Simoes de Ameida wrote:
>> Hi All,
>> On recent FPC 2.6.1 I notice a strange behavior with TStringList.Destroy
>> TStringList.Destroy, calls method TStringList.Clear, but the problem is
>> that TStringList.Clear call methods Changing and Changed
>> 
>> This affect Zeos 6.6.6, I presume is because Zeos try to read Params from
>> the SQL.Text, every time a Change occurs
>> 
>> I suggest a new InternalClear method, without calling Change/Changed that
>> can be used in Destroy and Clear methods...
>
>
>
>
>No, just call Clear before destroying FSQL (afair) ...that's how I patched my 
>zeos copy and it works fine.
>
>
>--- trunk/zeosdbo/src/component/ZAbstractRODataset.pas 2012/01/09 14:53:38     
>1368
>+++ trunk/zeosdbo/src/component/ZAbstractRODataset.pas 2012/03/07 10:38:11     
>1385
>@@ -531,7 +531,7 @@
>except
>end;
>end;
>-
>+  FSQL.Clear;
>FreeAndNil(FSQL);
>FreeAndNil(FParams);
>FreeAndNil(FCurrentRows);
>
>
>
>
>zeljko
>
>
>> 
>> Some thing like this:
>> 
>> destructor TStringList.Destroy;
>> Var I : Longint;
>> begin
>>   FOnChange:=Nil;
>>   FOnChanging:=Nil;
>>   InternalClear;
>>   Inherited destroy;
>> end;
>> 
>> Procedure TStringList.Clear;
>> Var I : longint;
>> begin
>>   if FCount = 0 then Exit;
>>   Changing;
>>   InternalClear;
>>   Changed;
>> end;
>> 
>> Procedure TStringList.InternalClear;  (Private)
>> Var I : longint;
>> begin
>>   if FCount = 0 then Exit;
>>  
>>   if FOwnsObjects then
>>     begin
>>       For I:=0 to FCount-1 do
>>         begin
>>           Flist^[I].FString:='';
>>           freeandnil(Flist^[i].FObject);
>>         end;
>>     end
>>   else
>>     begin
>>       For I:=0 to FCount-1 do
>>         Flist^[I].FString:='';
>>     end;
>>   FCount:=0;
>>   SetCapacity(0);
>> end;
>> 
>> 
>> 
>>  
>> []s Daniel
>> 
>> Conheça o Projeto ACBr - Automaçao Comercial Brasil
>> DJSystem a Loja Patrocinadora do ACBr
>
>
>--
>_______________________________________________
>Lazarus mailing list
>[email protected]
>http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
>
>
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to