Subject | Re: [IBO] Problems in TIB_BlobStream with the last Beta - The Fix |
---|---|
Author | Jason Wharton |
Post date | 2009-07-28T02:27:14Z |
> Problems which still remain to solve:Please look at IB_Events.pas around line 750 and make this change:
>
> 1. TIB_Events doesn't work
>
> The following code...
>
> procedure TdmoMain.ibdMainAfterConnect(Sender: TIB_Connection);
> begin
> ib_eMain.RegisterEvents; //ib_eMain is a TIB_Events instance
> end;
>
> crashes very badly with an AV in fbclient.dll. Definitely needs to look
> at.
type
TIB_EventBuffer = array[0..IBO_MaxEvents - 1,
0..IBO_EventLength - 1] of ansichar; // Used to be
just Char.
This should fix it.
> 2. TIBODatabase.Password not streamed correctly .dfmThis was resolved with the Jumble String routines being made Ansi
>
> Self explaining. There is also a bug report on Sf.net on the issue.
explicitly.
> 3. A bunch of 'Record not found' exceptions (stack trace & code bellow)Seems this should be resolved too, right?
> but the program seems to work ok because AFAIS these are located
> immediately after opening/refreshing the dataset so, anyway, the cursor
> is at the beginning. But anyway imho this shows a weak point in our
> bookmark engine.
>
> DB.TDataSet.GotoBookmark
> IBODataSet.TIBODataSet.Resync([rmExact..rmCenter])
> DB.TDataSet.Resync
>
> here is the code:
>
> procedure TIBODataset.Resync( Mode: TResyncMode );
> begin
> if Active then
> begin
> // It is important to prevent the Resync() process from being interrupted
> // by a callback. Rows should already be in the buffer but perhaps not.
> InternalDataset.BeginCallbackFreeze;
> try
> inherited Resync( Mode ); //<--- Exception here!
> finally
> InternalDataset.EndCallbackFreeze;
> end;
> end;
> end;
Thanks for your VALUABLE BETA feedback!
Jason Wharton