Sign in Join

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

Mailing lists / lazarus / 1999-10

Update

20 messages · 8 people ·

Reply by email Subscribe to this list Your subscription

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

Baeseman, Cliff

Yea man I really need that winproc now to move forward.

Cliff

Earlier message 40 lines
-----Original Message----- From: Shane Miller Sent: Tuesday, October 26, 1999 1:00 PM To: Subject: Re: [lazarus] Update I would love to get the menu's worked out correctly. Otherwise, I am writing the WNDPROC for TCONTROL, WINCONTROL, and CUSTOMFORM. Feel free to write any others... Shane >>> Marc Weustink 10/26/99 12:38PM >>> Hi, As you might have noticed, I'm back from my holliday trip. After reading loads of email, I'm wondering what to do. The last thing I did was on the notebook, and after that I would have looked at the scrollbar. If I recall it correct, I read somewhere that Cliff continued this. Further, I read something about the editor. It looks to me if the mwEdit is almost tackled, so need any help there ? Otherwise, maybe I can look after the (now IMHO incorrect mixed) use of parent and owners, which also touches some curent changes in the menu (getting both straight). Greetings Marc _________________________________________________________________ To unsubscribe: mail with "unsubscribe" as the Subject archives at http://www.miraclec.com/list_archives/lazarus _________________________________________________________________ To unsubscribe: mail with "unsubscribe" as the Subject archives at http://www.miraclec.com/list_archives/lazarus

Reply by email

Shane Miller

I would prefer that we add a LINUX.PP file to the LCL and create new functions with these ssame names. That way we don't have to change ANY code except the USES clause. In the USES we would just have to add linux.pp and the winapi calls would be there.

Shane

>> Curtis White 10/26/99 11:36PM >>>
On 26-Oct-99 Marc Weustink wrote 21 lines
Now the question how to implement. I think thewre are a few options: 1) Don't support direct API calls. Use their class counterparts. IE, dont use ExtTextOut(Canvas.Handle, ...) but use Canvas.ExtTextOut(...). This bereaks a lot of compatibility. 2) Use a platform dependent windows.pp like the classes unit. However there aleady exists a rtl windows.pp (and linux.pp) 3) Since linux.pp and windows.pp are rtl files, create ONE LCLwindows.pp. This file contains (win)API related implementations for every platform (if it is possible) or just a call to its InterfaceObject(since it's global) counterpart (all platform specific stuff in one place). Like LCLwindows.ExtTextOut calls InterfaceObject.ExtTextOut. Question is, what way to go. I think I prefer last one. It's only adding a reference to LCLwindows if needed. Any thoughts ?

I agree with you. I like the last option. But the problem we will need to overcome is the compatibility with Delphi. Almost every Delphi unit in existance contains:

uses Windows ...

So all of those would need to be changed depending on which environment you are compiling in. If compiling in Windows, then everything is fine. But then the code will need to be changed to compile in Linux. Also, when compiling in Windows, how would we handle functions that are the same in both LCLwindows and Windows?

Curtis

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

Reply by email

Curtis White
to Marc Weustink: words TODO: you can see an awful lot of procedures and functions that need to be written…
On 26-Oct-99 Marc Weustink wrote 21 lines
Now the question how to implement. I think thewre are a few options: 1) Don't support direct API calls. Use their class counterparts. IE, dont use ExtTextOut(Canvas.Handle, ...) but use Canvas.ExtTextOut(...). This bereaks a lot of compatibility. 2) Use a platform dependent windows.pp like the classes unit. However there aleady exists a rtl windows.pp (and linux.pp) 3) Since linux.pp and windows.pp are rtl files, create ONE LCLwindows.pp. This file contains (win)API related implementations for every platform (if it is possible) or just a call to its InterfaceObject(since it's global) counterpart (all platform specific stuff in one place). Like LCLwindows.ExtTextOut calls InterfaceObject.ExtTextOut. Question is, what way to go. I think I prefer last one. It's only adding a reference to LCLwindows if needed. Any thoughts ?

I agree with you. I like the last option. But the problem we will need to overcome is the compatibility with Delphi. Almost every Delphi unit in existance contains:

uses Windows ...

So all of those would need to be changed depending on which environment you are compiling in. If compiling in Windows, then everything is fine. But then the code will need to be changed to compile in Linux. Also, when compiling in Windows, how would we handle functions that are the same in both LCLwindows and Windows?

Curtis

Reply by email

Shane Miller

I would love to get the menu's worked out correctly.

Otherwise, I am writing the WNDPROC for TCONTROL, WINCONTROL, and CUSTOMFORM. Feel free to write any others...

Shane

>> Marc Weustink 10/26/99 12:38PM >>>

Hi,
As you might have noticed, I'm back from my holliday trip. After reading loads of email, I'm wondering what to do. The last thing I did was on the notebook, and after that I would have looked at the scrollbar. If I recall it correct, I read somewhere that Cliff continued this.
Further, I read something about the editor. It looks to me if the mwEdit is almost tackled, so need any help there ?
Otherwise, maybe I can look after the (now IMHO incorrect mixed) use of parent and owners, which also touches some curent changes in the menu (getting both straight).

Greetings Marc

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

Reply by email

Shane Miller

OK, instead lets use a LCLLinux or LCLWin file. Either or, but not both, and put all the winapi stuff in there. I'll rename my LINUX.PP file to one of those. Any preferences?

Shane

>> "Shane Miller" 10/27/99 06:49AM >>>

I would prefer that we add a LINUX.PP file to the LCL and create new functions with these ssame names. That way we don't have to change ANY code except the USES clause. In the USES we would just have to add linux.pp and the winapi calls would be there.

Shane

>> Curtis White 10/26/99 11:36PM >>>
On 26-Oct-99 Marc Weustink wrote 21 lines
Now the question how to implement. I think thewre are a few options: 1) Don't support direct API calls. Use their class counterparts. IE, dont use ExtTextOut(Canvas.Handle, ...) but use Canvas.ExtTextOut(...). This bereaks a lot of compatibility. 2) Use a platform dependent windows.pp like the classes unit. However there aleady exists a rtl windows.pp (and linux.pp) 3) Since linux.pp and windows.pp are rtl files, create ONE LCLwindows.pp. This file contains (win)API related implementations for every platform (if it is possible) or just a call to its InterfaceObject(since it's global) counterpart (all platform specific stuff in one place). Like LCLwindows.ExtTextOut calls InterfaceObject.ExtTextOut. Question is, what way to go. I think I prefer last one. It's only adding a reference to LCLwindows if needed. Any thoughts ?

I agree with you. I like the last option. But the problem we will need to overcome is the compatibility with Delphi. Almost every Delphi unit in existance contains:

uses Windows ...

So all of those would need to be changed depending on which environment you are compiling in. If compiling in Windows, then everything is fine. But then the code will need to be changed to compile in Linux. Also, when compiling in Windows, how would we handle functions that are the same in both LCLwindows and Windows?

Curtis

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

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

Reply by email

Michael Van Canneyt
to Shane Miller: I would prefer that we add a LINUX.PP file to the LCL and create new functions with these…
Shane Miller wrote
I would prefer that we add a LINUX.PP file to the LCL and create new functions with these ssame names. That way we don't have to change ANY code except the USES clause. In the USES we would just have to add linux.pp and the winapi calls would be there.

But the linux units is a basic RTL unit, so then you will create big problems on linux - sysutils depends on it for instance, you will get infinite loops etc etc etc.

You MUST create a unique unit name, or you will end up with problems; you need to change the uses clauses anyway, so I think that this is a minor pain.

Michael.

Show quoted text 54 lines
Shane >>> Curtis White 10/26/99 11:36PM >>> On 26-Oct-99 Marc Weustink wrote: > > Now the question how to implement. I think thewre are a few options: > 1) > Don't support direct API calls. Use their class counterparts. IE, dont use > ExtTextOut(Canvas.Handle, ...) but use Canvas.ExtTextOut(...). This bereaks > a lot of compatibility. > > 2) > Use a platform dependent windows.pp like the classes unit. However there > aleady exists a rtl windows.pp (and linux.pp) > > 3) > Since linux.pp and windows.pp are rtl files, create ONE LCLwindows.pp. This > file contains (win)API related implementations for every platform (if it is > possible) or just a call to its InterfaceObject(since it's global) > counterpart (all platform specific stuff in one place). Like > LCLwindows.ExtTextOut calls InterfaceObject.ExtTextOut. > > Question is, what way to go. I think I prefer last one. It's only adding a > reference to LCLwindows if needed. Any thoughts ? > I agree with you. I like the last option. But the problem we will need to overcome is the compatibility with Delphi. Almost every Delphi unit in existance contains: uses Windows ... So all of those would need to be changed depending on which environment you are compiling in. If compiling in Windows, then everything is fine. But then the code will need to be changed to compile in Linux. Also, when compiling in Windows, how would we handle functions that are the same in both LCLwindows and Windows? Curtis _________________________________________________________________ To unsubscribe: mail with "unsubscribe" as the Subject archives at http://www.miraclec.com/list_archives/lazarus _________________________________________________________________ To unsubscribe: mail with "unsubscribe" as the Subject archives at http://www.miraclec.com/list_archives/lazarus

Reply by email

Michael A. Hess
to Marc Weustink: As you might have noticed, I'm back from my holliday trip. After reading loads of email,…
Marc Weustink wrote
I'm wondering what to do.

Check in with Shane. They have managed to almost get mwEdit to compile but only after commenting out large amounts of Windows specific code. Those areas will still need to be rewritten or addressed in the LCL to support mwEdit. It is close but still needs lots of work. I believe Shane could really use help with that.

==== Programming my first best destiny! ==== Michael A. Hess Miracle Concepts, Inc. http://www.miraclec.com

Reply by email

Florian Klaempfl
to Curtis White: I agree with you. I like the last option. But the problem we will need to overcome is the…
Curtis White wrote 10 lines
I agree with you. I like the last option. But the problem we will need to overcome is the compatibility with Delphi. Almost every Delphi unit in existance contains: uses Windows ... So all of those would need to be changed depending on which environment you are compiling in. If compiling in Windows, then everything is fine. But then the code will need to be changed to compile in Linux. Also, when compiling in

Well, if you want crossplatform development you have to pay a price, in this case it's some $ifdef..

Reply by email

Marc Weustink
to Shane Miller: I certainly could use the help with MWEDIT. If you search (grep) for the words TODO: you…
Shane wrote
I certainly could use the help with MWEDIT. If you search (grep) for the

words TODO: you can see an awful lot of procedures and functions that need to be written yet.

Feel free... :-) It'll make mwedit a lot more fun once we get it to compile

OK, second attempt (the first time NT just locked and I loosed all)

I looked at the TODO's and found:

Windows:
GetDC
ReleaseDC
GetObject
SelectObject
DeleteObject
ShowCaret
HideCaret
SetCaretPos
GetSystemMetrics
RecreateWnd

Canvas: (*)
ExtTextOut

Font: (*)
GetTextMetrics
CreateFontIndirect

ScrollBar: (*)
SetScrollInfo
ShowScrollBar

System:
StringOfChar

Menus: (!)
ShortCut
ShortCutToKey

other:
TRegistry
TBitmap.LoadFromResourceName
TFont.Pitch

Now the question how to implement. I think thewre are a few options: 1)
Don't support direct API calls. Use their class counterparts. IE, dont use ExtTextOut(Canvas.Handle, ...) but use Canvas.ExtTextOut(...). This bereaks a lot of compatibility.

2)
Use a platform dependent windows.pp like the classes unit. However there aleady exists a rtl windows.pp (and linux.pp)

3)
Since linux.pp and windows.pp are rtl files, create ONE LCLwindows.pp. This file contains (win)API related implementations for every platform (if it is possible) or just a call to its InterfaceObject(since it's global) counterpart (all platform specific stuff in one place). Like LCLwindows.ExtTextOut calls InterfaceObject.ExtTextOut.

Question is, what way to go. I think I prefer last one. It's only adding a reference to LCLwindows if needed. Any thoughts ?

Marc

(meanwhile doing some menu stuff)

Reply by email

Shane Miller

I created a LINUX.PP file and was going to put the stuff in there. ------------------------------------------------------------ Shane Miller

Get paid to surf the net!
http://alladvantage.com/go.asp?refid=DEX-870

Home page : http://www.lakefield.net/~smiller

Auto-IP Publisher : http://www.lakefield.net/~smiller/autoip

Advanced Clipboard : http://www.lakefield.net/~smiller/advclipboard

Lazarus : http://www.miraclec.com/lazarus
----------------------------------------------------------

Earlier message 84 lines
-----Original Message----- From: Marc Weustink To: Date: Tuesday, October 26, 1999 2:49 PM Subject: Re: [lazarus] Update >At 14:46 26-10-99 -0500, Shane wrote: >>I certainly could use the help with MWEDIT. If you search (grep) for the >words TODO: you can see an awful lot of procedures and functions that need >to be written yet. >> >>Feel free... :-) It'll make mwedit a lot more fun once we get it to compile > >OK, second attempt (the first time NT just locked and I loosed all) > >I looked at the TODO's and found: > >Windows: > GetDC > ReleaseDC > GetObject > SelectObject > DeleteObject > ShowCaret > HideCaret > SetCaretPos > GetSystemMetrics > RecreateWnd > > Canvas: (*) > ExtTextOut > > Font: (*) > GetTextMetrics > CreateFontIndirect > > ScrollBar: (*) > SetScrollInfo > ShowScrollBar > >System: > StringOfChar > >Menus: (!) > ShortCut > ShortCutToKey > >other: > TRegistry > TBitmap.LoadFromResourceName > TFont.Pitch > >Now the question how to implement. I think thewre are a few options: >1) >Don't support direct API calls. Use their class counterparts. IE, dont use >ExtTextOut(Canvas.Handle, ...) but use Canvas.ExtTextOut(...). This bereaks >a lot of compatibility. > >2) >Use a platform dependent windows.pp like the classes unit. However there >aleady exists a rtl windows.pp (and linux.pp) > >3) >Since linux.pp and windows.pp are rtl files, create ONE LCLwindows.pp. This >file contains (win)API related implementations for every platform (if it is >possible) or just a call to its InterfaceObject(since it's global) >counterpart (all platform specific stuff in one place). Like >LCLwindows.ExtTextOut calls InterfaceObject.ExtTextOut. > >Question is, what way to go. I think I prefer last one. It's only adding a >reference to LCLwindows if needed. Any thoughts ? > >Marc > >(meanwhile doing some menu stuff) > > >_________________________________________________________________ > To unsubscribe: mail with > "unsubscribe" as the Subject > archives at http://www.miraclec.com/list_archives/lazarus >

Reply by email

Marc Weustink
to Shane Miller: Anyone else having trouble compiling due to the error in thread.inc? Anyone working on…

Hi,
As you might have noticed, I'm back from my holliday trip. After reading loads of email, I'm wondering what to do. The last thing I did was on the notebook, and after that I would have looked at the scrollbar. If I recall it correct, I read somewhere that Cliff continued this.
Further, I read something about the editor. It looks to me if the mwEdit is almost tackled, so need any help there ?
Otherwise, maybe I can look after the (now IMHO incorrect mixed) use of parent and owners, which also touches some curent changes in the menu (getting both straight).

Greetings Marc

Reply by email

Shane Miller

I certainly could use the help with MWEDIT. If you search (grep) for the words TODO: you can see an awful lot of procedures and functions that need to be written yet.

Feel free... :-) It'll make mwedit a lot more fun once we get it to compile SHane

>> Marc Weustink 10/26/99 12:38PM >>>

Hi,
As you might have noticed, I'm back from my holliday trip. After reading loads of email, I'm wondering what to do. The last thing I did was on the notebook, and after that I would have looked at the scrollbar. If I recall it correct, I read somewhere that Cliff continued this.
Further, I read something about the editor. It looks to me if the mwEdit is almost tackled, so need any help there ?
Otherwise, maybe I can look after the (now IMHO incorrect mixed) use of parent and owners, which also touches some curent changes in the menu (getting both straight).

Greetings Marc

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

Reply by email

Marc Weustink
to Shane Miller

Duh,
last saturday everything compiles OK

and today:
gtkcallback.inc(661,85) Error: Cannot access a protected field of an object here
gtkobject.inc(233,45) Error: Cannot access a protected field of an object here gtkobject.inc(234,112) Error: Cannot access a protected field of an object here
gtkobject.inc(1170,4) Error: Cannot access a protected field of an object here Fatal: There were 4 errors compiling module, stopping make: *** [lazarus] Error 1
/mnt/hdc/usr/src/fpc
marc:~/lazarus$

I looked for some CVS changes, I can't find any clue

Marc

Reply by email