Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 1999-11

How can I help the lazarus team

3 messages · 3 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Mark Derricutt
to Shane Miller: In response to: <FONT color=#000000 size=2>----------------- � I have been following…
Shane Miller wrote 5 lines
TCustomForm's wndproc directly from another function because it is a "protected" method. Therefore I assume I need to ise either the class in Delphi called WINDOWCLASS or something similiar to call the wndproc. I am still looking into this and would appreciate any help from ANYONE!. :-)

The Delphi help file says:

When an application creates a window, it registers a window procedure with the Windows kernel. The window procedure is the routine that handles messages for the window. Traditionally, the window procedure contains a huge case statement with entries for each message the window has to handle. Keep in mind that window in this sense means just about anything on the screen: each window, each control, and so on. Every time you create a new type of window, you have to create a complete window procedure.

Delphi simplifies message dispatching in several ways:

o Each component inherits a complete message-dispatching system. o The dispatch system has default handling. You define handlers only for messages you need to respond to specially.
o You can modify small parts of the message-handling and rely on inherited methods for most processing.

The greatest benefit of this message dispatch system is that you can safely send any message to any component at any time. If the component does not have a handler defined for the message, the default handling takes care of it, usually by ignoring the message.

Tracing the flow of messages

Delphi registers a method called MainWndProc as the window procedure for each type of component in an application. MainWndProc contains an exception-handling block, passing the message structure from Windows to a virtual method called WndProc and handling any exceptions by calling the application classs HandleException method.
MainWndProc is a nonvirtual method that contains no special handling for any particular messages. Customizations take place in WndProc, since each component type can override the method to suit its particular needs.

WndProc methods check for any special conditions that affect their processing so they can trap unwanted messages. For example, while being dragged, components ignore keyboard events, so the WndProc method of TWinControl passes along keyboard events only if the component is not being dragged. Ultimately, WndProc calls Dispatch, a nonvirtual method inherited from TObject, which determines which method to call to handle the message.

Dispatch uses the Msg field of the message structure to determine how to dispatch a particular message. If the component defines a handler for that particular message, Dispatch calls the method. If the component does not define a handler for that message, Dispatch calls DefaultHandler.

.end topic.

I'm sure theres more in the helpfiles somewhere as well.

Mark

Mark Derricutt Now Playing: VAST - Visual Audio Sensory Theater

Reply by email

Shane Miller

In response to:

<FONT color=#000000
size=2>-----------------
Shane,
�
I have been following the lazarus
mailling list since last August (a so called 'lurker') and last weekend I successfully installed fpc, cvs and lazarus on my win98 machine. I am impressed by the progress of the last month or so.
�
I would like to help on the lazarus
project for a few (4-8) hours a week. What do you think I could do best?

My experience:
I have no experience programming on
linux and also no experience with gtk, but I have made some non-visual components in Delphi 3 and I am quite at ease with object pascal and the vcl.
�
The last few days the mailling list is
very quite. Does that mean a lot of work is done or that people are busy doing there regular work?
�
I don't know if my latest mails have
offended someone (especially Jeff and Curtis, since I made remarks on there work). If I did so, I am sorry. Please, tell me what I did wrong, if anything.
�
Greetings,
�
Vincent
Snijders
�
--------------
�
The last few days I believe that something was
wrong with the mailing list, or the router to the list, so that explains why it's been so quiet.
�
Right now we are working on a few main items:
�
1) Get an editor up and running using our LCL (like vcl but under Linux).� The editor component we are thinking of using is MWEDIT which can be found under lazarus/lcl/components/mwedit/release.� There are MANY issues yet to be resolved because mwedit uses some win API functions that don't yet exist.� I created "shell" functions that do nothing so that mwedit compiles.� These shell functions need to be filled in and in most cases need to be filled in with some gtk code or actual X Windows calls.� The functions can be found by "grep"ing for "TODO" (without the quotes).� The TODO comments show up where something needs to be finished.
�
2)� Currently, I am converting the LCL over to use the WNDPROC procedures.� However, I am not fully aware on how they are initially called and therefore am looking into it.� For example, I can't call TCustomForm's wndproc directly from another function because it is a "protected" method.� Therefore I assume I need to ise either the class in Delphi called WINDOWCLASS or something similiar to call the wndproc.� I am still looking into this and would appreciate any help from ANYONE!.� :-)
�
3)� Jeff and Curtis and programmers that, I suppose like myself, are used to criticism and take it as long as it is meant to assist in the project and push us forward.� I am sure that they haven't been offended by anything said.� As long as things are said with the idea that they are meant to HELP, then the "criticism" is much easier to take.
�
Anyone interested may Please feel free
to learn GTK (it's quite easy.� Go to <A
href="http://www.gtk.org">www.gtk.org) or look at what needs to be finished yet.� We have ALOT of components that need to be added, and by selecting something and working through it, you'll learn a ton. �
I really feel that if we continue towards our goal and work hard, we will eventually come up with a FREE IDE that is "compatable" wiuth Delphi that is usable by all the already existing Delphi programmers.� Think of the huge positive effect that will have on the Linux operating system.....
�
Best
regards.....
�
<FONT color=#000000
size=2>------------------------------------------------------------Shane Miller
�
Get paid to surf the net!<A
href="http://alladvantage.com/go.asp?refid=DEX-870">http://alladvantage.com/go.asp?refid=DEX-870 �
Home page : <A
href="http://www.lakefield.net/~smiller">http://www.lakefield.net/~smiller �
Auto-IP Publisher : <A
href="http://www.lakefield.net/~smiller/autoip">http://www.lakefield.net/~smiller/autoip �
Advanced Clipboard : <A
href="http://www.lakefield.net/~smiller/advclipboard">http://www.lakefield.net/~smiller/advclipboard �
Lazarus : <A
href="http://www.miraclec.com/lazarus">http://www.miraclec.com/lazarus---------------------------------------------------------- <BLOCKQUOTE
style="BORDER-LEFT: #000000 solid 2px; MARGIN-LEFT: 5px; PADDING-LEFT: 5px"> �

Reply by email

Curtis White
to Shane Miller
On 04-Nov-99 Shane Miller wrote 16 lines
I don't know if my latest mails have offended someone (especially Jeff and Curtis, since I made remarks on there work). If I did so, I am sorry. Please, tell me what I did wrong, if anything. Greetings, Vincent Snijders -------------- 3) Jeff and Curtis and programmers that, I suppose like myself, are used to criticism and take it as long as it is meant to assist in the project and push us forward. I am sure that they haven't been offended by anything said. As long as things are said with the idea that they are meant to HELP, then the "criticism" is much easier to take.

Shane is correct here. I wasn't offended by anything you have said. I have just been busy trying to figure out the problems with mwedit, so haven't been sending many emails to the list. I am very happy to have you aboard and helping with the project. And like Shane said, if you see something that you think can be done in a better way, feel free to let us all know. That is what makes projects like this get even better :-)

Curtis

Reply by email