Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 2 of 2 total
Thread Procedure of Object error
Mon, Aug 31 2015 1:21 AMPermanent Link

Max Evans

Hi Tim,

Pre EWB Build 2.02, I was declaring a procedural type as below

TOnDatasetKeyValueEvent = procedure (Sender:TObject; AKey:Integer; AValue:String) of Object;

This event type basically fires the event if assigned every time the row changed on a dataset and passed back the integer and string values read from the dataset.

I declared a variable and property within a dynamically created form.

eg
 TClientsDlg = class(TDialog)
 private
  fRowSelectedEvent:TOnDatasetKeyValueEvent;
  public
  procedure loadClients();
  property RowSelectedEvent:TOnDatasetKeyValueEvent read fRowSelectedEvent write fRowSelectedEvent;
  end;

Another Form would create an instance of this form and hook into the event by assigning a procedure with the same signature from a TDialogEditComboBox button click event.

eg
function TcallingDlg.cboxClientButtonClick(Sender: TObject): Boolean;
begin
  clientsDlg:= TclientsDlg.Create(Application);
  clientsDlg.onClose:= onClientsDlgClosed;
  clientsDlg.RowSelectedEvent:= onClientsRowChanged;
  clientsDlg.ShowModal();
end;

procedure TcallingDlg.onClientsRowChanged(Sender:TObject; AKey:Integer; AValue:String);
begin
  cboxClient.Text:= AValue;
  ClientKey:= AKey;
end;

EWB build 2.02 now displays the error message of 'Unable to get property 'doexit' of undefined or null reference'. The error only occurs if the dataset row changes. ie. If I close the dynamically created form without moving the cursor through the dataset, then no error.

I have tried the event type as a procedure reference (dropping the of object) and still the same error.

Clearly something has changed, but I'm not sure exactly what...

Cheers

Max Evans
Mon, Aug 31 2015 9:23 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Max,

<< EWB build 2.02 now displays the error message of 'Unable to get property 'doexit' of undefined or null reference'. The error only occurs if the dataset row changes. ie. If I close the dynamically created form without moving the cursor through the dataset, then no error. >>

That doesn't sound like it is related to the code that you're describing.  Can you distill the problem down to a small sample project ?  If so, then please email it to me and I'll take a look.

Tim Young
Elevate Software
www.elevatesoft.com
Image