Re: [lazarus] FPC compiler for virtual machines?

2008-02-07 Thread Marco van de Voort
On Wed, Feb 06, 2008 at 11:37:41PM +0100, Felipe Monteiro de Carvalho wrote:
 On Feb 6, 2008 10:45 PM, Marco van de Voort [EMAIL PROTECTED] wrote:
  There already is FPC on mobile devices.
 
  For the rest, the FAQ mostly applies:
  http://www.hu.freepascal.org/faq.var#dotnet
 
 I think this is a little bit too intransigent. Many mobiles run only
 Java, so there is no other path to support them.

Nobody says there _should_ be a path then. 
 
 My experience with Symbian makes me think I should have instead
 started a Java port. The Symbian is such a mess that a Java port would
 maybe be easier to do and achieve support for a hugely superior number
 of devices.
 
 There is even a Java assembler out there. I'm not 100% convinced that
 it can't be abstracted just like if it was just another platform.

The question is not if you can't shoehorn FPC into something it wasn't
designed for, but if the result is more than an academic exercise.

IOW, is a FPC that has parts of the language removed, where datatypes change
meaning, possible extensions that don't work on native etc still a FPC as we
know today ? 

The Delphi.NET experiment of Borland shows this perfectly. Superficially
everything is ok, but practically you see each after the other halt the
shared codebases and do a proper new framework based on .NET classes and
types.

In Borlands case, the shared source between classic and .NET was mostly
temporary, for transition purposes, but how do you see this for FPC?

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] FPC compiler for virtual machines?

2008-02-07 Thread Michael Van Canneyt


On Wed, 6 Feb 2008, Marco Alvarado wrote:

 2008/2/6, Wanderlan Santos dos Anjos [EMAIL PROTECTED]:
  Options for a Pascal compiler which targets Java:
 
  1. http://www.mhccorp.com/pasjvm.shtml
  2. http://en.wikipedia.org/wiki/MIDletPascal. Dead product?
  Download: http://www.softlookup.com/display.asp?id=157709
 
 I know MIDletPascal, and it's a perfect example. It suffers the same
 problem that Delphi has now, it's not Open Source. You have to wait
 for it's development team to fix bugs, and the most important is that
 if the team takes a different path (or vanishes), you will have to
 jump to another compiler to keep on track, maybe a compiler for
 another language as it is the case with Pascal.
 
 I'd rather give my engine support for an unperfect compiler that
 anyone can continue developing (reminds me of Lazarus), than a
 compiler that can die unexpectedly.

Well, what stops you from getting started ?

Many people have asked the questions you asked, none have actually
contributed.

The FPC team has no direct interest in this, but that doesn't mean
we will not offer help in the form of explanations to whoever wants
to try anyway... 

Michael.

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


[lazarus] Who is the controlling 'native' widget set in LCL?

2008-02-07 Thread Graeme Geldenhuys
Hi,

I'm not trying to start a flame war, I would simply like to understand
the thinking and decision process of the core lazarus developers
regarding the LCL features.  I'm sure any developer using LCL would
like the following answers as well.

For more background on this issue see the mantis bug report:
  http://bugs.freepascal.org/view.php?id=9285

In summary.  TButton.Color is not available in LCL because Win32
doesn't allow a button face to change color without custom drawing.
Yet other widget sets do like Qt and GTK1.


Comments from Paul:

Kylix = qt = library that draw widgets itself
Win32 = library that also has some mids about widget drawing

Why LCL should invent hacks to force win32 draw color buttons? If
win32 does not want to do that why LCL should have ability to override
designed by ms devels way of button drawing?

LCL is library of native widgets = library that uses abilities of
underlying libraries. If they (win32 or other) doesnot support
something then LCL should not invent own ways.

My opinion - this issue should be closed.



Comments from Me:
--
Ok, so LCL uses native widgets - I get that. Well, Qt is a supported
widget set of LCL. So Qt should in all respects be consider 'native'.
So now, because Win32 doesn't allow Button.Color, Qt may not use
Button.Color either! That's a bit unfair. The LCL now limits
developers only to what Win32 can do! What happened to LCL being
cross-platform? What about the features of other underlying native
widget sets?

Is Win32 the controlling widget set for LCL. If Win32 doesn't support
something, neither may the other widget sets?



So, my question again:
Is Win32 the controlling widget set in LCL?  Is Win32 the deciding
widget set for what is allowed in the LCL?  If Win32 doesn't support
it, it's not going to be supported in the LCL - even if the other
native widget sets support a function?

How do the core developers decide what is allowed in the LCL and what
isn't? What criteria do they use?


As a extra argument to Paul:
MS developers decided not support MouseEnter and MouseLeave OS level
events in Win32. Other widget sets do. Borland even had to hack their
own support for it in the VCL.  Then in Windows XP and Vista the
Microsoft developers show that a 'hot' state over buttons are cool,
yet the underlying Win32 still doesn't support MouseEnter and
MouseLeave OS events!  I wouldn't stake my life on what MS developers
decided is good! They sometimes come up with pretty shitty ideas of
what they think is right!


Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Who is the controlling 'native' widget set in LCL?

2008-02-07 Thread Florian Klaempfl
Graeme Geldenhuys schrieb:
 So, my question again:
 Is Win32 the controlling widget set in LCL?  Is Win32 the deciding
 widget set for what is allowed in the LCL?  If Win32 doesn't support
 it, it's not going to be supported in the LCL - even if the other
 native widget sets support a function?

I guess in case of doubts, the VCL is the reference. If one wants to
explore all features of a certain widget set, he has simply to use a
direct interface to the widget set.

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Who is the controlling 'native' widget set in LCL?

2008-02-07 Thread Paul Ishenin

Graeme Geldenhuys wrote:

Hi,

I'm not trying to start a flame war, I would simply like to understand
the thinking and decision process of the core lazarus developers
regarding the LCL features.  I'm sure any developer using LCL would
like the following answers as well.

For more background on this issue see the mantis bug report:
  http://bugs.freepascal.org/view.php?id=9285

In summary.  TButton.Color is not available in LCL because Win32
doesn't allow a button face to change color without custom drawing.
Yet other widget sets do like Qt and GTK1.


That problem has been havily discussed in lazarus-dev list and we came 
to the conclusion that such properties should be in LCL, but on the 
other hand they must be marked some way in object inspector as non 
cross platform.


Best regards,
Paul Ishenin.

_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


[lazarus] Open URL in a browser

2008-02-07 Thread Antonio Sanguigni
Hi all,

I'm trying to create an hyperlink component but I'm having some difficult to
catch default browser under Linux. In Windows it has to be easier but I
would like to find an elegant cross-platform way. I saw the Lazarus Ide has
Help - OnLine help menu which I can get a look. Any suggest to better
understand the code ?

I saw there are THelpViewer class and THelpDatabase and their containers but
I cannot be able to understand deeply how this code is working.

Thanks
Antonio

-- 
Antonio Sanguigni alias slapshot
--
GioveLUG (Linux User Group) - http://www.giovelug.org
Edupup (Educational distro) - http://www.edupup.org


Re: [lazarus] Behavior of ClientToScreen in scrolling windows across different widget sets

2008-02-07 Thread Marc Weustink

Luiz Americo Pereira Camara wrote:
While debugging scrolling bugs in LCL i found that ClientToScreen acts 
differently according to the widget set.


These are the behaviors:

1) The returned value is related to the actual position, i.e., it does 
not consider the scroll offset. If you pass Point(0,0) the value will be 
the same regardless of the scroll position. (Gtk1)


2) The returned value is related to the virtual position, i.e, it takes 
into account the scroll offset. If you pass Point(0, 0) the value 
changes inversely to scrollbar position. (Gtk2)  
3)  The returned value is related to the virtual position, i.e, it takes 
into account the scroll offset. If you pass Point(0, 0) the value 
changes the same amount of scrollbar position. (Win32)


4) Nothing. Qt has no visible scrollbars so...

Notes:

Delphi does the same as (1)/Gtk1


Not really, internally Delphi does it like 2. All controls are moved.



(3) is clearly buggy.

Between (1) and (2) is a design decision.


We started like delphi, move controls and report corrected values when 
asked. However this aproach is very inefficient on all widgetsets except 
win32. So the new approach is that controls stay at their position and 
only the virtual parent gets an offset.
This means that the top/left of a control on a say scrollbox are allways 
the same, an offset to the virtual parent top/left.


So now ClientToScreen.
The top/left of a scrolled control needs to get a scrolled offset, so 
that is reflects the real position relative to the real parent of 
the control.


Marc




Attached is a patch that makes win32 acts like (2)/gtk2. It changes the 
offset signal when calculating the LCL bounds. With the change it 
becomes consistent with the TCustomGroupBox signal convention (LCL 
bounds at Right/Down  of win32 +, at Left/Up -).

It also fixes the scrolling paint and setcursor of non TWincontrol.

Luiz





_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Open URL in a browser

2008-02-07 Thread ik
Hi,

On Debian bases system (I don't know on others) there is an
alternative that known as x-www-browser that holds the default web
browser.

On Feb 7, 2008 12:18 PM, Antonio Sanguigni [EMAIL PROTECTED] wrote:
 Hi all,

 I'm trying to create an hyperlink component but I'm having some difficult to
 catch default browser under Linux. In Windows it has to be easier but I
 would like to find an elegant cross-platform way. I saw the Lazarus Ide has
 Help - OnLine help menu which I can get a look. Any suggest to better
 understand the code ?

 I saw there are THelpViewer class and THelpDatabase and their containers but
 I cannot be able to understand deeply how this code is working.

 Thanks
 Antonio

 --
 Antonio Sanguigni alias slapshot
  --
 GioveLUG (Linux User Group) - http://www.giovelug.org
 Edupup (Educational distro) - http://www.edupup.org


Ido
-- 
http://ik.homelinux.org/

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Who is the controlling 'native' widget set in LCL?

2008-02-07 Thread Graeme Geldenhuys
On 07/02/2008, Paul Ishenin [EMAIL PROTECTED] wrote:
 
  In summary.  TButton.Color is not available in LCL because Win32
  doesn't allow a button face to change color without custom drawing.
  Yet other widget sets do like Qt and GTK1.

 That problem has been havily discussed in lazarus-dev list and we came
 to the conclusion that such properties should be in LCL, but on the
 other hand they must be marked some way in object inspector as non
 cross platform.

My apologies. I didn't know of a 'lazarus-dev' mailing list.  When was
this decided, in the last 7 days?  Because from your comment  in he
mantis bug report dated 2008-02-01 (7 days ago), your clearly stated
that it _shouldn't_ be supported.


Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Open URL in a browser

2008-02-07 Thread wile64
See also environnement variable $BROWSER under linux

-- 
Laurent.

My Components: http://wiki.lazarus.freepascal.org/Wile64
French Forum : http://lazforum-fr.tuxfamily.org/index.php


Re: [lazarus] Open URL in a browser

2008-02-07 Thread Henry Vermaak
On 07/02/2008, wile64 [EMAIL PROTECTED] wrote:
 See also environnement variable $BROWSER under linux


there is also the sensible-browser script that makes things easy (at
least on debian).

henry

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Open URL in a browser

2008-02-07 Thread Graeme Geldenhuys
On 07/02/2008, wile64 [EMAIL PROTECTED] wrote:
 See also environnement variable $BROWSER under linux


Wow, I never knew about that.  It's available in Ubuntu 7.10 as well.
Is that a LSB standard?

I see the /etc/alternatives directory is full of such files... :-)
Nice one, it's about time Linux helped developers detect favoured
applications.


Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Open URL in a browser

2008-02-07 Thread Graeme Geldenhuys
On 07/02/2008, ik [EMAIL PROTECTED] wrote:
 Hi,

 On Debian bases system (I don't know on others) there is an
 alternative that known as x-www-browser that holds the default web
 browser.



Wow, I never knew about that.  It's available in Ubuntu 7.10 as well.
Is that a LSB standard?

I see the /etc/alternatives directory is full of such files... :-)
Nice one, it's about time Linux helped developers detect favoured
applications.


Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Open URL in a browser

2008-02-07 Thread Graeme Geldenhuys
Oops, I meant the reply to Ido's email


On 07/02/2008, Graeme Geldenhuys [EMAIL PROTECTED] wrote:
 On 07/02/2008, wile64 [EMAIL PROTECTED] wrote:
  See also environnement variable $BROWSER under linux
 

 Wow, I never knew about that.  It's available in Ubuntu 7.10 as well.
 Is that a LSB standard?

 I see the /etc/alternatives directory is full of such files... :-)
 Nice one, it's about time Linux helped developers detect favoured
 applications.


 Regards,
   - Graeme -


 ___
 fpGUI - a cross-platform Free Pascal GUI toolkit
 http://opensoft.homeip.net/fpgui/



-- 
Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Open URL in a browser

2008-02-07 Thread Vincent Snijders

Antonio Sanguigni schreef:

Hi all,

I'm trying to create an hyperlink component but I'm having some 
difficult to catch default browser under Linux. In Windows it has to be 
easier but I would like to find an elegant cross-platform way. I saw the 
Lazarus Ide has Help - OnLine help menu which I can get a look. Any 
suggest to better understand the code ?


I saw there are THelpViewer class and THelpDatabase and their containers 
but I cannot be able to understand deeply how this code is working.




See also lazarus\examples\openbrowser

Vincent

_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] FPC compiler for virtual machines?

2008-02-07 Thread Marco Alvarado
I've been investigating, and came to the conclussion that the best
compiler I can do IS NOT a compiler, BUT an specialiced translator. I
could use customizable templates to transform Pascal code into each
VM's natural language, then take advantage of the command-line
compilers for those VMs. There are open-source compilers that will fit
perfectly on this project. At least MTASC, is a much faster and
optimal compiler than the actual Macromedia/Adobe Flash compiler.

Crappy and cheaty, maybe, but will output the best optimal code
possible, and also will save myself from the HUGE task of creating
real compilers, since I must keep focused on my game engine. If we
remove pointers, goto's (...what else?), there is almost a one-on-one
correspondence between Object Pascal and ECMA's scripts (javascript
and actionscript), Java and .NET. But will require some cheating with
the class frameworks (thinking on FPC's RTL and the LCL), like
converting TBitmap into MovieClip, as an example. As said it's a
language mutilation, but it's something a programmer can live with if
he/she wants to target those virtual platforms, Delphi .NET shows that
as you mentioned.

-Marco

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Open URL in a browser

2008-02-07 Thread ik
2008/2/7 wile64 [EMAIL PROTECTED]:
 See also environnement variable $BROWSER under linux

On my machine it is not set (Kubuntu 7.10 amd64)...


 --
 Laurent.

 My Components: http://wiki.lazarus.freepascal.org/Wile64
 French Forum : http://lazforum-fr.tuxfamily.org/index.php

Ido
-- 
http://ik.homelinux.org/

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Open URL in a browser

2008-02-07 Thread wile64
2008/2/7, Graeme Geldenhuys [EMAIL PROTECTED]:

 On 07/02/2008, wile64 [EMAIL PROTECTED] wrote:
  See also environnement variable $BROWSER under linux
 

 Wow, I never knew about that.  It's available in Ubuntu 7.10 as well.
 Is that a LSB standard?


This is Debian, I have on my Ubuntu 7.10 and others are also


I see the /etc/alternatives directory is full of such files... :-)
 Nice one, it's about time Linux helped developers detect favoured
 applications.


I Found it but I do not know where :)

Regards,
   - Graeme -


 ___
 fpGUI - a cross-platform Free Pascal GUI toolkit
 http://opensoft.homeip.net/fpgui/

 _
  To unsubscribe: mail [EMAIL PROTECTED] with
 unsubscribe as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives




-- 
Laurent.

My Components: http://wiki.lazarus.freepascal.org/Wile64
French Forum : http://lazforum-fr.tuxfamily.org/index.php


RE: [lazarus] Open URL in a browser

2008-02-07 Thread Hess, Philip J
Orpheus has a TOvcURL component for hyperlinks.

 

http://wiki.lazarus.freepascal.org/OrphPort

 

Thanks.

 

-Phil

 

 



From: Antonio Sanguigni [mailto:[EMAIL PROTECTED] 
Sent: Thursday, February 07, 2008 5:19 AM
To: lazarus@miraclec.com
Subject: [lazarus] Open URL in a browser

 

Hi all,

I'm trying to create an hyperlink component but I'm having some
difficult to catch default browser under Linux. In Windows it has to be
easier but I would like to find an elegant cross-platform way. I saw the
Lazarus Ide has Help - OnLine help menu which I can get a look. Any
suggest to better understand the code ? 

I saw there are THelpViewer class and THelpDatabase and their containers
but I cannot be able to understand deeply how this code is working.

Thanks
Antonio

-- 
Antonio Sanguigni alias slapshot
--
GioveLUG (Linux User Group) - http://www.giovelug.org
Edupup (Educational distro) - http://www.edupup.org 



Re: [lazarus] Linux Journal Poll: Pascal does not exist

2008-02-07 Thread mramirez

Quoting Marco Alvarado [EMAIL PROTECTED]:


Working with an underground language gives a cool feeling :D


Please see attached image ;-)

Cheers (with a tequila)
mramirez
attachment: Black-T-Shirt-Lazarus.JPG

Re: [lazarus] FPC compiler for virtual machines?

2008-02-07 Thread Marco Alvarado
 The guys at mhccorp, did the same:

 http://www.mhccorp.com/java.shtml

 But, its a closed source project.

 In their pages, they said, they made an Object Pascal To Java translator,
 and later a Object Pascal to JVM assembler translator.

Yes the idea is having it Open Source, and for at least three VM's:
J2ME, Actionscript2, .NET

Whoever needs another platform can add the templates, and an
implementation of the Virtual Machine Library.

I'll take it to the point when I can display bitmaps and play sounds.
Then I'll drop the project, so I can work porting my engine on top of
it using the {$IFDEF} machete! :D

Regards!
-Marco

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] FPC compiler for virtual machines?

2008-02-07 Thread Marco Alvarado
 But, how knows ? Maybe the games you want to migrate to JVM-based
 phones, can be fun and even profit !!! ;-)

Many games can be migrated to VM's that don't need a lot of processing
power, think about the best selling Tetris ;D

Also, what happens if a compiler maker or chipset builder finds out
that developers are using Pascal on mobile devices... they might get
interested since there is a visible market. They could make a real
compiler or even better a chip with a Pascal Virtual Machine!! If
there is a market, there is always a chance for these things to
happen, if no one migrates applications the possibility is just zero.

-Marco

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] FPC compiler for virtual machines?

2008-02-07 Thread Marco Alvarado
I'm building right now a translator of Object Pascal to ECMAscript. I
just need a common run-time library, which I'm building on top of
FPC's RTL and the LCL. If someone wants to have a portable
application, they just have to use the classes of the Virtual Machine
Library (VML, not to confuse with VCL).

Later, the translator will just change the syntax from Object Pascal
to the VM's natural language using a template, then compile the
application with an open-source or SDK's compiler, and integrate
everything with a version of the VML for the target platform.

From the programmer's point of view, it work exactly as an optimal
Pascal command line compiler.

That's my strategy.

-Marco

2008/2/7, mramirez [EMAIL PROTECTED]:
 Quoting Felipe Monteiro de Carvalho [EMAIL PROTECTED]:

  My experience with Symbian makes me think I should have instead
  started a Java port. The Symbian is such a mess that a Java port would

 I read somewhere that Symbian was rebuilding its OS from scratch,
 because of the mess.

  There is even a Java assembler out there. I'm not 100% convinced that
  it can't be abstracted just like if it was just another platform.

 There is a JVM assembler:

 http://en.wikipedia.org/wiki/Jasmin_%28Java_assembler%29

 But, the main problem with the Java ENVIROMENT/FRAMEWORK (Virtual
 Machine + Standard Library + Programming Language + else), is that is
 100% CLASS/OBJECT oriented.

 Even the JVM assembler works with objects and classes, you can't work
 with global functions, records, or variables like many of the LCL
 functions does.

 As mentioned in other replies, you'll have to mutilate the object
 pascal version of the language to make it run in a JVM. Trying to
 migrate the Free Pascal Compiler (FPC) used by the Lazarus could be
 possible, but with weird, unexpected, poor performance results...

 Borland/CodeGear make an experimental Pascal for JVM compiler, and
 both this version and its .NET compiler had pitfalls.

 Anyway, virtual machines are slow, don't matter how much optimization
 they have, and require more resources. And mobile devices don't have
 as many resources that a P.C. does.

 I suggest you should go for the native development, whether is
 FPC+Lazarus or other development set of tools.

 Just my 2 cents...
 mramirez

 _
  To unsubscribe: mail [EMAIL PROTECTED] with
 unsubscribe as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives


_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] FPC compiler for virtual machines?

2008-02-07 Thread Felipe Monteiro de Carvalho
On Feb 7, 2008 9:32 PM, Marco Alvarado [EMAIL PROTECTED] wrote:
 I'm doing it now!! Once I get a hello-world translated, I'll start
 releasing the source code.

Please create a source forge project for it and add the code to
subversion. That guarantees the project can be continued on the
future.

thanks a lot,
-- 
Felipe Monteiro de Carvalho

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] FPC compiler for virtual machines?

2008-02-07 Thread Marco Alvarado
2008/2/7, Felipe Monteiro de Carvalho [EMAIL PROTECTED]:
 Unfortunately I don't have time to build that, but I would try to help
 if someone starts such a project.

I'm doing it now!! Once I get a hello-world translated, I'll start
releasing the source code.

Regards!
-Marco

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


RE: [lazarus] FPC compiler for virtual machines?

2008-02-07 Thread Sam Liddicott
Can I suggest you also look at the Alma project on freshmeat.net

Sam

-Original Message-
From: Marco Alvarado [EMAIL PROTECTED]
Sent: 07 February 2008 17:37
To: lazarus@miraclec.com
Subject: Re: [lazarus] FPC compiler for virtual machines?

I'm building right now a translator of Object Pascal to ECMAscript. I
just need a common run-time library, which I'm building on top of
FPC's RTL and the LCL. If someone wants to have a portable
application, they just have to use the classes of the Virtual Machine
Library (VML, not to confuse with VCL).

Later, the translator will just change the syntax from Object Pascal
to the VM's natural language using a template, then compile the
application with an open-source or SDK's compiler, and integrate
everything with a version of the VML for the target platform.

From the programmer's point of view, it work exactly as an optimal
Pascal command line compiler.

That's my strategy.

-Marco

2008/2/7, mramirez [EMAIL PROTECTED]:
 Quoting Felipe Monteiro de Carvalho [EMAIL PROTECTED]:

  My experience with Symbian makes me think I should have instead
  started a Java port. The Symbian is such a mess that a Java port would

 I read somewhere that Symbian was rebuilding its OS from scratch,
 because of the mess.

  There is even a Java assembler out there. I'm not 100% convinced that
  it can't be abstracted just like if it was just another platform.

 There is a JVM assembler:

 http://en.wikipedia.org/wiki/Jasmin_%28Java_assembler%29

 But, the main problem with the Java ENVIROMENT/FRAMEWORK (Virtual
 Machine + Standard Library + Programming Language + else), is that is
 100% CLASS/OBJECT oriented.

 Even the JVM assembler works with objects and classes, you can't work
 with global functions, records, or variables like many of the LCL
 functions does.

 As mentioned in other replies, you'll have to mutilate the object
 pascal version of the language to make it run in a JVM. Trying to
 migrate the Free Pascal Compiler (FPC) used by the Lazarus could be
 possible, but with weird, unexpected, poor performance results...

 Borland/CodeGear make an experimental Pascal for JVM compiler, and
 both this version and its .NET compiler had pitfalls.

 Anyway, virtual machines are slow, don't matter how much optimization
 they have, and require more resources. And mobile devices don't have
 as many resources that a P.C. does.

 I suggest you should go for the native development, whether is
 FPC+Lazarus or other development set of tools.

 Just my 2 cents...
 mramirez

 _
  To unsubscribe: mail [EMAIL PROTECTED] with
 unsubscribe as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives


_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] FPC compiler for virtual machines?

2008-02-07 Thread Felipe Monteiro de Carvalho
On Feb 7, 2008 2:11 AM, Marco Alvarado [EMAIL PROTECTED] wrote:
 I know MIDletPascal, and it's a perfect example. It suffers the same
 problem that Delphi has now, it's not Open Source.

I think an open source project that works about the same as
MIDLetPascal would be really excelent.

It doesn't need to be a clone, but something with which I could write
Pascal programas for J2ME, even if the language needs to be modified.

Unfortunately I don't have time to build that, but I would try to help
if someone starts such a project.

-- 
Felipe Monteiro de Carvalho

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] FPC compiler for virtual machines?

2008-02-07 Thread Marco Alvarado
2008/2/7, Sam Liddicott [EMAIL PROTECTED]:
 Can I suggest you also look at the Alma project on freshmeat.net

 Sam

Yes, but it's not only about language translation, indeed this is the
easiest part. The real problem is creating a virtual machine library
that is common between the different platforms.

-Marco

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] FPC compiler for virtual machines?

2008-02-07 Thread mramirez

Quoting Marco Alvarado [EMAIL PROTECTED]:


I've been investigating, and came to the conclussion that the best
compiler I can do IS NOT a compiler, BUT an specialiced translator. I


The guys at mhccorp, did the same:

http://www.mhccorp.com/java.shtml

But, its a closed source project.

In their pages, they said, they made an Object Pascal To Java translator,
and later a Object Pascal to JVM assembler translator.

One thing is the compiler, and another the development environment.

If you want to extend the Free Pascal Compiler to work as a translator  
for Free (Object) Pascal to Java (Programming Language), you are  
welcome.


If you achieve this, and later want to extend the Lazarus development  
environment for your FPC extension, you are also welcome.


Visual Studio has a .NET mobile emulator where you can make a mobile  
application, and run it in the emulator.


We don't want to discourage you of your idea, but seems complicated,  
and some of us think, there are other ways of doing the same.


But, how knows ? Maybe the games you want to migrate to JVM-based  
phones, can be fun and even profit !!! ;-)


Good Luck
mramirez

_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] FPC compiler for virtual machines?

2008-02-07 Thread mramirez

Quoting Felipe Monteiro de Carvalho [EMAIL PROTECTED]:


My experience with Symbian makes me think I should have instead
started a Java port. The Symbian is such a mess that a Java port would


I read somewhere that Symbian was rebuilding its OS from scratch,
because of the mess.


There is even a Java assembler out there. I'm not 100% convinced that
it can't be abstracted just like if it was just another platform.


There is a JVM assembler:

http://en.wikipedia.org/wiki/Jasmin_%28Java_assembler%29

But, the main problem with the Java ENVIROMENT/FRAMEWORK (Virtual  
Machine + Standard Library + Programming Language + else), is that is  
100% CLASS/OBJECT oriented.


Even the JVM assembler works with objects and classes, you can't work  
with global functions, records, or variables like many of the LCL  
functions does.


As mentioned in other replies, you'll have to mutilate the object  
pascal version of the language to make it run in a JVM. Trying to  
migrate the Free Pascal Compiler (FPC) used by the Lazarus could be  
possible, but with weird, unexpected, poor performance results...


Borland/CodeGear make an experimental Pascal for JVM compiler, and  
both this version and its .NET compiler had pitfalls.


Anyway, virtual machines are slow, don't matter how much optimization  
they have, and require more resources. And mobile devices don't have  
as many resources that a P.C. does.


I suggest you should go for the native development, whether is  
FPC+Lazarus or other development set of tools.


Just my 2 cents...
mramirez

_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Linux Journal Poll: Pascal does not exist

2008-02-07 Thread Marco Alvarado
Nice shirt heheh :D

2008/2/7, mramirez [EMAIL PROTECTED]:
 Quoting Alexsander Rosa [EMAIL PROTECTED]:

  http://www.linuxjournal.com/node/1006101
 
  18. What is your favorite programming language?

 OBJECT Pascal. Not your parents' pascal ;-)

 Cheers.
 mramirez

 _
  To unsubscribe: mail [EMAIL PROTECTED] with
 unsubscribe as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives


_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Linux Journal Poll: Pascal does not exist

2008-02-07 Thread mramirez

Quoting Alexsander Rosa [EMAIL PROTECTED]:


http://www.linuxjournal.com/node/1006101

18. What is your favorite programming language?


OBJECT Pascal. Not your parents' pascal ;-)

Cheers.
mramirez

_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Linux Journal Poll: Pascal does not exist

2008-02-07 Thread mramirez

Quoting Marco Alvarado [EMAIL PROTECTED]:


Nice shirt heheh :D


Thanks. Alexsander said that he liked use an underground programming  
language.

Found a T-Shirt for that underground attitude ;-)

_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Open URL in a browser

2008-02-07 Thread Antonio Sanguigni

 Orpheus has a TOvcURL component for hyperlinks.



 http://wiki.lazarus.freepascal.org/OrphPort



Thanks all, guys. I'll have a look at your suggests.

Antonio


-- 
Antonio Sanguigni alias slapshot
--
GioveLUG (Linux User Group) - http://www.giovelug.org
Edupup (Educational distro) - http://www.edupup.org


Re: [lazarus] Who is the controlling 'native' widget set in LCL?

2008-02-07 Thread Mattias Gärtner
Zitat von Graeme Geldenhuys [EMAIL PROTECTED]:

 On 07/02/2008, Paul Ishenin [EMAIL PROTECTED] wrote:
  
   In summary.  TButton.Color is not available in LCL because Win32
   doesn't allow a button face to change color without custom drawing.
   Yet other widget sets do like Qt and GTK1.
 
  That problem has been havily discussed in lazarus-dev list and we came
  to the conclusion that such properties should be in LCL, but on the
  other hand they must be marked some way in object inspector as non
  cross platform.

 My apologies. I didn't know of a 'lazarus-dev' mailing list.  When was
 this decided, in the last 7 days?  Because from your comment  in he
 mantis bug report dated 2008-02-01 (7 days ago), your clearly stated
 that it _shouldn't_ be supported.

Here is a small abstract about the current state of the discussion:
Some properties can not be supported on some widgetsets, because it would
require a lot of work, which no laz devel wants to do. OTOH some native
features are so great, that the LCL should support them, but only on a subset
of the widgetsets.
The main problem is how can the programmer see, what property/method is
available on what platform. The documentation is a good place, but not
sufficient. It should be marked in the OI and identifier completion as well.
The information can not be stored in the LCL alone and must be readable when
cross designing. So one solution could be a xml file in each widgetset. This
kind of information is needed by other libs as well. For example database
front/backends. So maybe a more generic solution is needed.


Mattias

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Behavior of ClientToScreen in scrolling windows across different widget sets

2008-02-07 Thread Luiz Americo Pereira Camara

Marc Weustink wrote:

Luiz Americo Pereira Camara wrote:
While debugging scrolling bugs in LCL i found that ClientToScreen 
acts differently according to the widget set.


These are the behaviors:

1) The returned value is related to the actual position, i.e., it 
does not consider the scroll offset. If you pass Point(0,0) the value 
will be the same regardless of the scroll position. (Gtk1)


2) The returned value is related to the virtual position, i.e, it 
takes into account the scroll offset. If you pass Point(0, 0) the 
value changes inversely to scrollbar position. (Gtk2)  3)  The 
returned value is related to the virtual position, i.e, it takes into 
account the scroll offset. If you pass Point(0, 0) the value changes 
the same amount of scrollbar position. (Win32)


4) Nothing. Qt has no visible scrollbars so...

Notes:

Delphi does the same as (1)/Gtk1


Not really, internally Delphi does it like 2. All controls are moved.


I'm not referring to position of controls after scrolling. I'm referring 
to ClientToScreen return results. Say you query the ClientToScreen with 
0,0 will return value x, y. Now scroll vertically amount n. Under Delphi 
the returned value will still be x, y and not x, y-n that is the virtual 
position. The example shows this clearly. Move the window to position 
0,0. Get the ClientToScreen result of 0,0 = 0,0. Now scroll vertically 
10 (Notice that part of the client area is offscreen). Get again the 
value of 0,0. You will get


Win32: 0,10
Gtk1: 0,0
Gtk2: 0, -10
Delphi: 0,0
The patch makes win32 behaves like Gtk2 each makes more sense.




(3) is clearly buggy.

Between (1) and (2) is a design decision.


We started like delphi, move controls and report corrected values when 
asked. However this aproach is very inefficient on all widgetsets 
except win32. So the new approach is that controls stay at their 
position and only the virtual parent gets an offset.
This means that the top/left of a control on a say scrollbox are 
allways the same, an offset to the virtual parent top/left.

See above.


So now ClientToScreen.
The top/left of a scrolled control needs to get a scrolled offset, so 
that is reflects the real position relative to the real parent of 
the control.


The behavior described here is generic to any point, not control 
position related.


Luiz

_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


[lazarus] How is docking support coming?

2008-02-07 Thread Lee Jenkins


Hi all,

I need docking support for a project and I would prefer to write it Lazarus if I 
can.  I know there was some headway made, but is docking support stabilized?


Thanks ;)

--
Warm Regards,

Lee

Everything I needed to learn in life, I learned selling encyclopedias door to 
door.


_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] How is docking support coming?

2008-02-07 Thread Paul Ishenin

Lee Jenkins wrote:


Hi all,

I need docking support for a project and I would prefer to write it 
Lazarus if I can.  I know there was some headway made, but is docking 
support stabilized?
No. Some things works, some things we are doing, some things still 
doesnot have decision about way of implementation.


Best regards,
Paul Ishenin.

_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] FPC compiler for virtual machines?

2008-02-07 Thread mramirez

Quoting Marco Alvarado [EMAIL PROTECTED]:


I'm building right now a translator of Object Pascal to ECMAscript.


Good Luck ;-)
mramirez

_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


[lazarus] GTK2 Help [OT]

2008-02-07 Thread Lee Jenkins


Hi all,

Sorry for off topic request, but I'd like to see what an app looks like on gtk2 
and I'm having a dickens of a time trying to upgrade my current gtk2 on Centos 
4.4.


Can someone suggest a simple way to upgrade this?  I've tried yum, but it 
doesn't seem to think there is a new version of gtk2 than my current 2.4.13-22 
version.


Thanks and sorry for OT post.

--
Warm Regards,

Lee

Everything I needed to learn in life, I learned selling encyclopedias door to 
door.


_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


[lazarus] My first GUI Application

2008-02-07 Thread Lee Jenkins


I've written several console/daemon apps with Lazarus/Freepascal, but this is my 
first GUI app that really does anything and aside from some gotchas getting it 
to run on Linux (developed on WinXP), it seems to be running very well.


http://leebo.dreamhosters.com/images/guiApp.png

There's a few idiosyncrasies with the fonts (size, etc) between Win32 and GTK, 
but all in all, I'm very happy with results thus far.


Kudos to the developers and community.

I'm hooked.

--
Warm Regards,

Lee

Everything I needed to learn in life, I learned selling encyclopedias door to 
door.


_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives