Subject | R: [IBO] TDataSet as parameter get wrong by IBO 4.2Ib |
---|---|
Author | Roberto Loi |
Post date | 2003-11-21T12:55:49Z |
Hi Nando,
thank you for comments. It still doesn't work, even after my changes.
I'll come back soon with one concrete case of error.
What I can say just now, is that the error is generated evey time by the procedure TIBODataset.GetBookmarkData, the "Buffer" points to an empty string and the line "B := Binary..." causes the exception EAccessViolation,
"RecInfo.RecRowNode" is nil and "RecInfo.RecRowNode.KeyData" is an inaccessible value.
In this case I made a Rollback, but I know that other triggers also cause the exception (BeforePost, BeforeScroll).
Tha Call Stack is:
TIBODataset.GetBookmarkData(???,$245E240)
TIBODataset.InternalSetToRecord(???)
TIBODataset.Cancel
TIBOInternalDataset.SysCancel
TIB_Transaction.SysProcessCommitAction(True,False,False,False)
TIB_Transaction.SysRollbackBegin(???)
TIB_Transaction.SysRollback(False)
TIB_Transaction.Rollback
TDataMod.RollbackTr
TMainForm.CancelBtnClick(???)
TRxSpeedButton.MouseUp(???,[],???,18)
TSpeedbarButton.MouseUp(mbLeft,[],???,???)
tms
The program is in a deadlock and I have to stop it by Delphi
****************************************************
procedure TIBODataset.GetBookmarkData( Buffer: PChar; Data: Pointer );
var
B: string;
RecInfo: PIBORecInfo;
begin
if not IsEmpty then
begin
RecInfo := PIBORecInfo(Buffer + FRecInfoOfs);
B := BinaryToHexText( RecInfo.RecRowNode.KeyData, BookmarkSize div 2 );
Move( pointer( B )^, Data^, BookmarkSize );
end;
end;
******************************************************
Bye
Roberto
-----Messaggio originale-----
Da: Nando Dessena [mailto:nandod@...]
Inviato: Donnerstag, 20. November 2003 09.26
A: IBObjects@yahoogroups.com
Oggetto: Re: [IBO] TDataSet as parameter get wrong by IBO 4.2Ib
Roberto,
<SNIP>
R> Thank you for your help
I'm not sure which kind of help you expect unless you are able to
describe your problems clearly (preferably in detail and one at a time).
I understand your frustration (been there), but I can assure you that
you're going to have much more benefits if you try to put together
easy to follow bug reports.
Ciao
--
Nando
thank you for comments. It still doesn't work, even after my changes.
I'll come back soon with one concrete case of error.
What I can say just now, is that the error is generated evey time by the procedure TIBODataset.GetBookmarkData, the "Buffer" points to an empty string and the line "B := Binary..." causes the exception EAccessViolation,
"RecInfo.RecRowNode" is nil and "RecInfo.RecRowNode.KeyData" is an inaccessible value.
In this case I made a Rollback, but I know that other triggers also cause the exception (BeforePost, BeforeScroll).
Tha Call Stack is:
TIBODataset.GetBookmarkData(???,$245E240)
TIBODataset.InternalSetToRecord(???)
TIBODataset.Cancel
TIBOInternalDataset.SysCancel
TIB_Transaction.SysProcessCommitAction(True,False,False,False)
TIB_Transaction.SysRollbackBegin(???)
TIB_Transaction.SysRollback(False)
TIB_Transaction.Rollback
TDataMod.RollbackTr
TMainForm.CancelBtnClick(???)
TRxSpeedButton.MouseUp(???,[],???,18)
TSpeedbarButton.MouseUp(mbLeft,[],???,???)
tms
The program is in a deadlock and I have to stop it by Delphi
****************************************************
procedure TIBODataset.GetBookmarkData( Buffer: PChar; Data: Pointer );
var
B: string;
RecInfo: PIBORecInfo;
begin
if not IsEmpty then
begin
RecInfo := PIBORecInfo(Buffer + FRecInfoOfs);
B := BinaryToHexText( RecInfo.RecRowNode.KeyData, BookmarkSize div 2 );
Move( pointer( B )^, Data^, BookmarkSize );
end;
end;
******************************************************
Bye
Roberto
-----Messaggio originale-----
Da: Nando Dessena [mailto:nandod@...]
Inviato: Donnerstag, 20. November 2003 09.26
A: IBObjects@yahoogroups.com
Oggetto: Re: [IBO] TDataSet as parameter get wrong by IBO 4.2Ib
Roberto,
<SNIP>
R> Thank you for your help
I'm not sure which kind of help you expect unless you are able to
describe your problems clearly (preferably in detail and one at a time).
I understand your frustration (been there), but I can assure you that
you're going to have much more benefits if you try to put together
easy to follow bug reports.
Ciao
--
Nando