Solved

Creatin Components At Runetime

Posted on 1998-07-01
3
159 Views
Last Modified: 2010-08-05
How can I declare the onclick procedure of a self created component ?

Greetings!
Thomas
0
Comment
Question by:dx15ti
3 Comments
 

Author Comment

by:dx15ti
ID: 1356780
Edited text of question
0
 
LVL 4

Accepted Solution

by:
d003303 earned 100 total points
ID: 1356781
Yo,
you have to provide a TNotifyEvent typed method.

procedure Form1.RuntimeButtonClick(Sender : TObject);
begin
  // ...stuff
end;

procedure Form1.CreateRuntimeButton;
var RuntimeButton : TButton;
begin
  RuntimeButton := TButton.Create(Self);
  RuntimeButton.Parent := Self;
  RuntimeButton.OnClick := RuntimeButtonClick;
end;

Slash/d003303
0
 
LVL 10

Expert Comment

by:Jacco
ID: 1356782
This is the way you can declare it. It doesn't work themn yet, it is just for the storage.

type
  TMyComp = class(TGraphicControl)
  private
    FOnClick : TNotifyEvent;
    ..
  published
    property OnClick : TNotifyEvent
      read FNotifyEvent
      write FNotifyEvent;
  end;

To make it work on an OnClick add the following:

You have to call the notifyevent the following way from one of the protected procedures of the base class:

if Assigned(FOnClick) then FOnClick(Self);

This code can be inside

MouseDown or MouseUp (don't forget to add the override directive and caslling the inherited procedures.

Regards Jacco

Oops just too late. I understood your question differently.
d003303 answered the runtime part of the question. I thought you wanted to declare an OnClick property in a custom component...

Good luck

0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question