Ani

What you are referring to is a "Class Method" and no Delphi does not have them (though other OO languages do) it also does not have class variables (hence there is not need for Class Methods is the logic I presume)

The reason your code works is that the method you called makes no reference to the instance of FormB only to the method of class FormB (and ShowMessage is a non OO procedure), in compiled code there always on instance of the code base (and data for the Object instances) so i assume that you called "Execute" in the class method table in the context of a nil instance
If you had done

  procedure TFormB.Execute;
   begin
     ShowMessage(self.Caption); // AV Here
   end;

I'm sure this is all wrong and Max or Paul will correct me

Cheers
Neven

Hi,

Is it possible to call a method of a class without creating a object of it, even if the method is not a class function in Delphi ? I wrote the below code just to test -

1. Created a simple form A and a button on it.
2. Created another simple form B, written a procedure in it as -
    FormB.Execute;
    begin
      ShowMessage("xyz");
    end;
3. Commented out auto creation of FormB in application.
4. On Button Click in FormA I called the Execute of FormB and it worked perfectly okay.

What could be the reason for this? I had the idea that either I need to create an object before calling any method or I need to declare a class function.

In the above steps when I am trying to call Show in Execute function of Form B I got Access violation which is perfectly fine according to the above statement.

May be I am missing something simple here, but any pointers will be great. This was done in D2005 and it's win32 app.

Thanks
-Ani

------------------------------------------------------------------------

_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject: unsubscribe

_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject: unsubscribe

Reply via email to