[lazarus] LCL Structure Discussion

Shane Miller SMiller1 at stvgb.org
Tue Oct 12 11:05:41 EDT 1999


Interesting.  I am not saying it's a bad idea, I just don't understand what that would speed up.......
What would make that faster?  I guess I don't totally understand.

I feel that the editor problems are what's slowing us up.  If we could get someone (other than myself, and preferably 2 or more people) to assist on the editor, once we got that working I think development would cruise for the following reasons:
1) a lot easier to write code with it.
2) People would see that it's actually possible to write code with our library's and perhaps they would help a bit more
and 3) Having something that we all use that's built on the LCL would assure that we would fix the LCL and add stuff to it when we needed it.

I think we have to get some folks working on the editor.  I we agree with that, and I can get myself, cliff, ??,?,?,?, (3 or 4 others) to put time into JUST the editor, I think we could move quickly and I will create an HTML page for those participating that explains everything that's going on now and excactly when I plan on going.

Can we do that?  If after the editor is written and working, we can always discuss the C++ idea.  I think that even if we don't think it's a perfect idea to re-write the interface, I think it's still ANOTHER method to do this and perhaps we could do it ALONG with writing the interface in pascal (as we are doing now).

I think we need to CONCENTRATE on the editor and finish it (get it working) so that we feel like we have accomplished something.....PLEASE!  :-)

Thoughts?  Can we get some folks that would like to concentrate on it?  I can start the page design to point out the surrent problems and such...

Shane


>>> "Cliff Baeseman" <vbman at pcpros.net> 10/12/99 12:37AM >>>
Hi everyone,

  I would like to open up something here for discussion.

How about if we where to do somehting like this to move things along. First
a little story, for the last few weeks I have been writing a n-tiered app
running off of transaction server. I needed to find a way to communicate
with the sever in a very flexible and efficent manner with as few server
calls as possible. I also wished to do the development without breaking the
COM interface compatibility. Having worked on lazarus for so long I borrowed
one of our ideas.

I created a VB dll "Only because it supports ADO better" and this VB object
had only one public method call.

 Public Function Execute(intMessage as Integer, varData as Variant) as
Variant

Now my Delphi GUI Control just calls this execute method for any thing at
all it needs to do. For instance in my delphi code I call    myRecords =
vbdll.Execute(MSG_QUERY, 'SELECT * FROM tbl_Employee') now the VB dll sees
that this is a Query and takes the data sent and executes a database sql
query and returns a variant array containing the following. myRecords[1] =
status "fail or ok" myRecords[2] = statusmessage myrecords[3] row count 4
was field count and then the records.

Now here is where I am going with all of this. Say I was to build a C++
library that could handle all of the UI calls by passing something like
IntSendMessage(int Message, int WidgetID,  pointer varDataRecord). We then
define a single call back routine that would pass back the WidgetID and a
event message constant. Now the only single problem that I can see with this
is that you would have to have the library to run a lazarus app. On the
other hand we can easily code against GTK+ and KDE and NativeWindows using
this type of messaging. The linux side of the world would have to be written
in C++ but the Windows side of things could be written in a Delphi library
very easily. I do not mind writing the C++ library to handle things I am not
perfect at writing C++ but can hold my own. I do belive I can get some stuff
running very quickly in this fashion. Say for instance we need a source code
editor. We have a free one in linux and in windows, we just add that widget
to the library and away we go. The lcl would just have to recieve the
callback event and pass the message back to the widget ID specified. The
only issue I have not figured out is the data type of the sent in message,
maybe just a pointer to some data?

What do you think....Putting on the Flame Suit in case that sounded totally
stupid.

Cliff










_________________________________________________________________
     To unsubscribe: mail lazarus-request at miraclec.com with
                "unsubscribe" as the Subject
    archives at http://www.miraclec.com/list_archives/lazarus






More information about the Lazarus mailing list