Subject R: [IBO] TDataSet as parameter get wrong by IBO 4.2Ib
Author Roberto Loi
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