Sign in Join

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

Mailing lists / lazarus / 2000-04

can't make mwedit on win32

3 messages · 3 people ·

Reply by email Subscribe to this list Your subscription

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

Vincent Snijders

Hi,

Since we are close to an announcement of the progress of lazarus to a wider audience, I checked if some points I mentioned earlier have been fixed.

When I do make in the lazarus directory, I get the following error when compiling mwcustomedit.

ppc386.exe !FPCEXTCMD mwcustomedit.pas
mwcustomedit.pas(1813,58) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(1863,43) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(1890,58) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(1907,58) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(1953,43) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(1978,58) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(2040,48) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(2058,58) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(2192,69) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(2212,58) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(2233,58) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(2251,58) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(2275,58) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(2296,58) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(2329,58) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(2347,58) Error: Incompatible type for arg no. 8: Got VOID_POINTER, expected LONGINT
mwcustomedit.pas(2807,36) Error: Incompatible type for arg no. 3: Got SCROLLINFO, expected LPCSCROLLINFO
mwcustomedit.pas(2823,36) Error: Incompatible type for arg no. 3: Got SCROLLINFO, expected LPCSCROLLINFO
mwcustomedit.pas(2887,26) Error: Incompatible type for arg no. 2: Got TPOINT, expected POINT
mwcustomedit.pas(4145,34) Error: Incompatible types: got "POINT" expected "TPOINT"
mwcustomedit.pas(4588,1) Fatal: Internal error 7453984 make.exe[2]: *** [mwcustomedit.ppw] Error 1
make.exe[2]: Leaving directory `e:/pp/source/lazarus/components/mwedit' make.exe[1]: *** [mwedit_all] Error 2
make.exe[1]: Leaving directory `e:/pp/source/lazarus/components' make.exe: *** [components_all] Error 2

This is due to some type incompatiblities between LCLLinux and windows. I propose (and have proposed) to use LCLLinux also under windows, as it is an interface to the underlying OS/Winapi. In that case you can leave out a few IFDEFs in the mwcustomedit file, so it also results in cleaner code, although a bit slower due to the extra indirection, which we are accepting in the LCL for winapi calls anyway.
I 'll attach the diff file for these changes in mwcustomedit.pas as mwcustomedit.dif

These changes introduce a new problem with the clipboard unit. The current clipboard unit includes the clipboard constants for linux, but not for windows (you are supposed to use the windows unit). A solution for this would be to move the CF_xxxx constants to LCLLinux and to use this unit in the clipboard unit.

I could suply you with diff files for patching mwcustomedit.pas clipboard.pp and lcllinux.pp, if you want.

If you have a better way to solve these problems, say so. You might remember a from Florian a few days ago when he also ran into the same problem, but proposed a different solution for only a part of the problem. If you follow his suggestion (Florian: "I think the easiest solution �s to define TPOINT in classes only if the target isn't win32 else tpoint=windows.tpoint"), then you need also to change some things in the windows or the LCLLinux unit (I am not sure) to solve problems with passing a pointer or a var variable to a winapi function.

If there is someone who compiled mwedit on win32 without changes straight from the CVS, I would like to hear so.

Regards,
Vincent.

Reply by email

Florian Klaempfl
to Marc Weustink: + From: Vincent Snijders [snip] + This is due to some type incompatiblities between…
Marc Weustink wrote 29 lines
+ From: Vincent Snijders [snip] + This is due to some type incompatiblities between LCLLinux + and windows. I propose (and have proposed) to use LCLLinux + also under windows, as it is an interface to the underlying + OS/Winapi. In that case you can leave out a few IFDEFs in + the mwcustomedit file, so it also results in cleaner code, + although a bit slower due to the extra indirection, which we + are accepting in the LCL for winapi calls anyway. Originally it was the intention (at least mine) to have one interface to the indelying widgetset. + I 'll attach the diff file for these changes in mwcustomedit.pas as + mwcustomedit.dif + + These changes introduce a new problem with the clipboard + unit. The current clipboard unit includes the clipboard + constants for linux, but not for windows (you are supposed + to use the windows unit). A solution for this would be to + move the CF_xxxx constants to LCLLinux and to use this unit in + the clipboard unit. + + I could suply you with diff files for patching + mwcustomedit.pas clipboard.pp + and lcllinux.pp, if you want.

I've patched the fcl to redefine the trect/tpoint stuff only on win32 instead of defining it, but I hadn't commited it yet because of compiler problems (well known internalerror 55665566).

Reply by email

Marc Weustink
to Vincent Snijders: Since we are close to an announcement of the progress of lazarus to a wider audience, I…

+ From: Vincent Snijders

[snip]

+ This is due to some type incompatiblities between LCLLinux
+ and windows. I propose (and have proposed) to use LCLLinux
+ also under windows, as it is an interface to the underlying
+ OS/Winapi. In that case you can leave out a few IFDEFs in
+ the mwcustomedit file, so it also results in cleaner code,
+ although a bit slower due to the extra indirection, which we
+ are accepting in the LCL for winapi calls anyway.

Originally it was the intention (at least mine) to have one interface to the indelying widgetset.

+ I 'll attach the diff file for these changes in mwcustomedit.pas as
+ mwcustomedit.dif
+
+ These changes introduce a new problem with the clipboard
+ unit. The current clipboard unit includes the clipboard
+ constants for linux, but not for windows (you are supposed
+ to use the windows unit). A solution for this would be to
+ move the CF_xxxx constants to LCLLinux and to use this unit in
+ the clipboard unit.
+
+ I could suply you with diff files for patching
+ mwcustomedit.pas clipboard.pp
+ and lcllinux.pp, if you want.

If nobody is against it you can send the difs to my private account () and I can apply them. It's a nice point to see if everything builds with NT (it didn't in the past)

Marc

Reply by email