Re: [UOPL-Architect] how design uopl gui applications
Status: Planning
Brought to you by:
bsstmiller
|
From: Thomas M. <tm...@bs...> - 2004-12-07 19:37:46
|
Cool!!! So now this is one less issue. FPC does support interfaces
and we are going
to initially target D7. I think where possible, we should make it D2005
friendly, but not
a high priority.
So with that solved, we are down to
#1 - Start with TObject.
#2 - Use same Class Names but use unit names like uoplClass.pas
(like qClass.pas for QT)
#3 - We need to come up with a folder hierarchy. I am not thrilled with
the one FPC and Lazarus use. I do like the one Delphi uses. What
do you all think of this.
uoplSource
rtl
uoplClass.pas
uoplClassDWin.inc
uoplClassFPWin.inc
uoplClassFPGTK.inc
uoplClassFPColbal.inc
uopl
uoplDB.pas
uoplDBDWin.inc
uoplDBFPWin.inc
uoplDBFPGTK.inc
uoplDBFPColbal.inc
I don't have a problem with having one include file with IfDef in it for
a particular OS and library. So we would have one Win include. For
the GTK interface, FP has a different include for each OS.
"D" - Delphi
"FP" - FreePascal
GTK - GTK cross OS library (Qt replacement) for Linux
Cobalt - Mac native Library
Comments???
Dennis Landi wrote:
>OK.
>
>I just had a look at the D7 implementations of tInterfacedPersisent and
>tComponent. There have been quite a few changes since D5.
>
>TComponent and TInterfacedPersistent are declared, respectively:
>
>TComponent = class(TPersistent, IInterface, IInterfaceComponentReference)
>
>and
>
>TInterfacedPersistent = class(TPersistent, IInterface)
>
>The definition of IInterface is
>
> IInterface = interface
> ['{00000000-0000-0000-C000-000000000046}']
> function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
> function _AddRef: Integer; stdcall;
> function _Release: Integer; stdcall;
> end;
>
>IOW, both classes have functional parity in regard to the QueryInterface
>functionality (They share IInterface).
>
>We simply need to duplicate these on the FreePascal side. (This is assuming
>the FP support interfaces at all, otherwise its all moot).
>
>We can leave the choice up to individual developers wether or not to descend
>from TInterfacedPersistent or TPersistent, we should just alert them to the
>benefit of using TInterfacedPersistent. If they descend from tComponent,
>then they automatically get the "IInterface" functionality for free...
>
>So you get all this for free, if you use D7 as the "porting target".
>(Another issue, I suppose).
>
>Dennis Landi
>Allied Data, Inc.
>800 204 2722
>http://www.dennislandi.com
>
>
>
>----- Original Message -----
>From: "Dennis Landi" <de...@de...>
>To: <uop...@li...>
>Sent: Tuesday, December 07, 2004 1:02 PM
>Subject: Re: [UOPL-Architect] how design uopl gui applications
>
>
>
>
>>
>>
>>>True, but I think the point that was trying to be made is that these
>>>private variables often
>>>get surfaced as Public properties.
>>>
>>>
>>You would do that in descendants.
>>
>>That has nothing to do with the TComponentClass classtype which is the
>>typecast, and all the streaming mechanism sees.
>>
>>
>>Dennis Landi
>>Allied Data, Inc.
>>800 204 2722
>>http://www.dennislandi.com
>>----- Original Message -----
>>From: "Thomas Miller" <tm...@bs...>
>>To: <uop...@li...>
>>Sent: Tuesday, December 07, 2004 12:24 PM
>>Subject: Re: [UOPL-Architect] how design uopl gui applications
>>
>>
>> We could have both Owner and
>>
>>
>>>OwnerInterface as
>>>a property or function.
>>>
>>>I think the sooner we work some of these little detail out and can start
>>>the CVS tree,
>>>the better. I will continue working on website stuff for you.
>>>
>>>Dennis Landi wrote:
>>>
>>>
>>>
>>>>>By the way, couldn't we have both an FOwner and FOwnerInterface?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>Private fields shouldn't interfere with the RTTI streaming system at
>>>>
>>>>
>all.
>
>
>>I
>>
>>
>>>>doubt its an issue, but the experiment needs to happen.
>>>>
>>>>Three or four years ago I created my own tInterfacedComponent. I'll
>>>>
>>>>
>see
>
>
>>if
>>
>>
>>>>I can find it.
>>>>
>>>>Dennis Landi
>>>>Allied Data, Inc.
>>>>800 204 2722
>>>>http://www.dennislandi.com
>>>>
>>>>
>>>>
>>>>
>>>>-------------------------------------------------------
>>>>SF email is sponsored by - The IT Product Guide
>>>>Read honest & candid reviews on hundreds of IT Products from real
>>>>
>>>>
>users.
>
>
>>>>Discover which products truly live up to the hype. Start reading now.
>>>>http://productguide.itmanagersjournal.com/
>>>>_______________________________________________
>>>>UOPL-architect mailing list
>>>>UOP...@li...
>>>>https://lists.sourceforge.net/lists/listinfo/uopl-architect
>>>>
>>>>
>>>>
>>>>
>>>>
>>>--
>>>Thomas Miller
>>>Wash DC Delphi SIG Chairperson
>>>Delphi Client/Server Certified Developer
>>>BSS Accounting & Distribution Software
>>>BSS Enterprise Accounting FrameWork
>>>
>>>http://www.bss-software.com
>>>http://www.cpcug.org/user/delphi/index.html
>>>https://sourceforge.net/projects/uopl/
>>>http://sourceforge.net/projects/dbexpressplus
>>>
>>>
>>>
>>>
>>>-------------------------------------------------------
>>>SF email is sponsored by - The IT Product Guide
>>>Read honest & candid reviews on hundreds of IT Products from real users.
>>>Discover which products truly live up to the hype. Start reading now.
>>>http://productguide.itmanagersjournal.com/
>>>_______________________________________________
>>>UOPL-architect mailing list
>>>UOP...@li...
>>>https://lists.sourceforge.net/lists/listinfo/uopl-architect
>>>
>>>
>>
>>
>>-------------------------------------------------------
>>SF email is sponsored by - The IT Product Guide
>>Read honest & candid reviews on hundreds of IT Products from real users.
>>Discover which products truly live up to the hype. Start reading now.
>>http://productguide.itmanagersjournal.com/
>>_______________________________________________
>>UOPL-architect mailing list
>>UOP...@li...
>>https://lists.sourceforge.net/lists/listinfo/uopl-architect
>>
>>
>
>
>
>
>-------------------------------------------------------
>SF email is sponsored by - The IT Product Guide
>Read honest & candid reviews on hundreds of IT Products from real users.
>Discover which products truly live up to the hype. Start reading now.
>http://productguide.itmanagersjournal.com/
>_______________________________________________
>UOPL-architect mailing list
>UOP...@li...
>https://lists.sourceforge.net/lists/listinfo/uopl-architect
>
>
>
--
Thomas Miller
Wash DC Delphi SIG Chairperson
Delphi Client/Server Certified Developer
BSS Accounting & Distribution Software
BSS Enterprise Accounting FrameWork
http://www.bss-software.com
http://www.cpcug.org/user/delphi/index.html
https://sourceforge.net/projects/uopl/
http://sourceforge.net/projects/dbexpressplus
|