Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Michael Schnell
While I think, private, protected and public are enough visibility 
complexity (omitting published and all the new fancy stuff invented by 
Embarcadero), I supposed abstract is one of the concepts that should 
be added to the description.

-Michael

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Michael Schnell
On 11/22/2013 09:09 AM, Michael Schnell wrote:
   I supposed abstract is one of the concepts that should
 be added to the description.
+ reintroduce

(will non-heap objects have virtual methods ?)

BTW.:

IMO method is a more appropriate new combined  name for 
procedure/function than sub. It is commonly understood in the 
Object-world, and it's less likely that a program to be ported uses 
same as a variable name.

-Michael

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


[MSEide-MSEgui-talk] app size on linux

2013-11-22 Thread misu kun
hi Martin
i am using manjaro , i made a simple application with msegui . just 1
form with 2 button and 1 ttabwidget and 1 tstringgrid , the size
becomes 3Mb with no debug information , so is it normal or there are
some tricks to reduce the size ?


thanks

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Michael Schnell
On 11/21/2013 05:41 PM, Ivanko B wrote:
 end:= result;
 ==
 It means one more memory copying opetation which can be quite
 expensive in case of large data (dynarrays,..).

Why does everybody suspect that Martin is a bad compiler designer that 
is unable to do decent optimization ?

I do trust him (seemingly more than he does himself, see non-constant 
case labels)

-Michael

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 09:13:49 Michael Schnell wrote:

 (will non-heap objects have virtual methods ?)

Yes.

 BTW.:

 IMO method is a more appropriate new combined  name for
 procedure/function than sub. It is commonly understood in the
 Object-world, and it's less likely that a program to be ported uses
 same as a variable name.

Use 'method' instead of 'sub' everywhere or introduce a new keyword?

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Michael Schnell
On 11/21/2013 08:24 PM, Ivanko B wrote:
 The 'sub' keyword is just ugly, not an error.  ;-)
 =
 Feels less ugly than function for non-returning  procedure for returning 
 :)

IMHO. If inventing a new keyword replacing as well function as procedure 
it should be Method as same is well know with language independent 
theories of object-programming.

I would not mind extending it to stuff outside of objects (inherently 
called classes :-) )

-Michael

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Michael Schnell
On 11/21/2013 10:50 PM, Sieghard wrote:
 Hallo Michael,

 Du schriebst am Thu, 21 Nov 2013 10:10:29 +0100:

 Using a procedure name without () can be either a call to this
 procedure or denote the address of this procedure to be moved onto a
 procedure variable.
 It will be what was defined for it to be.

 (With fpc you need to add @ for the second, which I think is extremely
 ugly.)
 But it is thoroughly consistent with the use of @ with variables, where
 it returns their address as well.
 This makes the C approach (above) look inconsistent.
Is this really  you speaking ?

Dealing with explicit pointers is a typical way of C programming. It's a 
beauty of Pascal that this usually is not necessary (i.e. hidden behind 
other concepts such as object instance and with).

-Michael

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 09:09:21 Michael Schnell wrote:
 While I think, private, protected and public are enough visibility
 complexity (omitting published and all the new fancy stuff invented by
 Embarcadero), I supposed abstract is one of the concepts that should
 be added to the description.

In Delphi 'published' is used to switch on RTTI for streaming, we need another 
way to define streamed properties independent of visibility level.
'abstract' and 'reintroduce' or equivalents are planned.

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] app size on linux

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 09:16:47 misu kun wrote:
 hi Martin
 i am using manjaro , i made a simple application with msegui . just 1
 form with 2 button and 1 ttabwidget and 1 tstringgrid , the size
 becomes 3Mb with no debug information , so is it normal or there are
 some tricks to reduce the size ?

I get 1.7MB with 'Project'-'Make 4' which uses smart-linking (-B -CX -XX). 
Without grid it is 1.4MB, grid code is very complex. Without tabwidget it is 
1.3MB. Also the recently added code for anti-aliased XRender drawing counts.
It is planned to optimize MSEgui for better smart-linking and to make some 
features optional in order to make the binaries smaller.
Another possibility is to use whole-program-optimization:
http://wiki.freepascal.org/Whole_Program_Optimization
I don't know if whole-program-optimization currently works, there sometimes 
are abstract errors.

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 09:34:06 Michael Schnell wrote:
 On 11/22/2013 09:26 AM, Martin Schreiber wrote:
  Use 'method' instead of 'sub' everywhere or introduce a new keyword?

 Everywhere.

Doesn't 'method' imply that there is an instace pointer additional to the code 
address?

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] app size on linux

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 10:50:42 Martin Schreiber wrote:
 On Friday 22 November 2013 09:16:47 misu kun wrote:
  hi Martin
  i am using manjaro , i made a simple application with msegui . just 1
  form with 2 button and 1 ttabwidget and 1 tstringgrid , the size
  becomes 3Mb with no debug information , so is it normal or there are
  some tricks to reduce the size ?

 I get 1.7MB with 'Project'-'Make 4' which uses smart-linking (-B -CX -XX).

With whole-program-optimization the size goes down to 1.5MB but it does not 
run because of a EAbstractError exception...

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Michael Schnell
On 11/22/2013 10:54 AM, Martin Schreiber wrote:

 Doesn't 'method' imply that there is an instace pointer additional to the code
 address?

For me this would be a method of object.

(But of course this is a matter of taste.)

-Michael

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] app size on linux

2013-11-22 Thread misu kun
2013/11/22, Martin Schreiber mse00...@gmail.com:
 I get 1.7MB with 'Project'-'Make 4' which uses smart-linking (-B -CX
 -XX).

linux or windows ? .

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] app size on linux

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 11:28:00 misu kun wrote:
 2013/11/22, Martin Schreiber mse00...@gmail.com:
  I get 1.7MB with 'Project'-'Make 4' which uses smart-linking (-B -CX
  -XX).

 linux or windows ? .

32bit Linux OpenSuse 12.3.

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Marcos Douglas
On Fri, Nov 22, 2013 at 5:26 AM, Martin Schreiber mse00...@gmail.com wrote:
 On Friday 22 November 2013 09:13:49 Michael Schnell wrote:

 (will non-heap objects have virtual methods ?)

 Yes.

 BTW.:

 IMO method is a more appropriate new combined  name for
 procedure/function than sub. It is commonly understood in the
 Object-world, and it's less likely that a program to be ported uses
 same as a variable name.

 Use 'method' instead of 'sub' everywhere or introduce a new keyword?

Two different worlds. Use 'method' only for Class methods of course.


'sub' was defined for function? No chance to change that?  :(

--
Marcos Douglas

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Marcos Douglas
On Fri, Nov 22, 2013 at 5:34 AM, Michael Schnell mschn...@lumino.de wrote:
 On 11/22/2013 09:26 AM, Martin Schreiber wrote:

 Use 'method' instead of 'sub' everywhere or introduce a new keyword?

 Everywhere.

Experimente um novo navegador com tradução automática.Faça Download do
Google ChromeDispensar
Tradutor
Mas são dois mundos diferentes aqui: processuais vs OO.
IMHO não devemos unir as duas coisas.
Então, se processual é um velho mundo vamos usar uma velha palavra
chamado função ou função. Esta palavra, mesmo usando abreviatura,
falam mais do que 'sub'.
Google Tradutor para empresas:Google Toolkit de tradução para
appsTradutor de sitesGlobal Market Finder
Desativar tradução instantâneaSobre o Google
TradutorCelularPrivacidadeAjudaEnviar feedback

 I decently dislike sub. For me, a keyword should be speaking (like
 to or for) and not be an abbreviation. method is a lot shorter
 than subroutine and more speaking than sub.

I agree. But, in that context, I will be happy using 'method' or
'function' to class methods.

--
Marcos Douglas

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Marcos Douglas
On Fri, Nov 22, 2013 at 6:54 AM, Martin Schreiber mse00...@gmail.com wrote:
 On Friday 22 November 2013 09:34:06 Michael Schnell wrote:
 On 11/22/2013 09:26 AM, Martin Schreiber wrote:
  Use 'method' instead of 'sub' everywhere or introduce a new keyword?

 Everywhere.

 Doesn't 'method' imply that there is an instace pointer additional to the code
 address?

Yes. +1

--
Marcos Douglas

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Marcos Douglas
On Fri, Nov 22, 2013 at 5:34 AM, Michael Schnell mschn...@lumino.de wrote:
 On 11/22/2013 09:26 AM, Martin Schreiber wrote:

 Use 'method' instead of 'sub' everywhere or introduce a new keyword?

 Everywhere.

But here are two different worlds: Procedural vs. OO.
IMHO we should not combine the two things.
So if procedural is an old world we use an old word
called function or function. This word, using the same abbreviation,
speak more than 'sub'.

 I decently dislike sub. For me, a keyword should be speaking (like
 to or for) and not be an abbreviation. method is a lot shorter
 than subroutine and more speaking than sub.

I agree. But, in that context, I will be happy using 'method' or
'function' to class methods.

--
Marcos Douglas

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 13:03:08 Marcos Douglas wrote:
 On Fri, Nov 22, 2013 at 5:33 AM, Martin Schreiber mse00...@gmail.com 
wrote:
  On Friday 22 November 2013 09:09:21 Michael Schnell wrote:
  While I think, private, protected and public are enough visibility
  complexity (omitting published and all the new fancy stuff invented by
  Embarcadero), I supposed abstract is one of the concepts that should
  be added to the description.
 
  In Delphi 'published' is used to switch on RTTI for streaming, we need
  another way to define streamed properties independent of visibility
  level. 'abstract' and 'reintroduce' or equivalents are planned.

 Maybe:
 tfoo = class
   func exec(); rtti;
 end;

Or with compiler switch:

tfoo = class
 private
  fprop1: int32;
  fprop2: int32;
 protected
{$rtti streaming}
  property prop1: int32 read fprop1 write fprop1;
 public
  property prop2: int32 read fprop2 write fprop2;
end;


Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Marcos Douglas
On Fri, Nov 22, 2013 at 9:26 AM, Martin Schreiber mse00...@gmail.com wrote:
 On Friday 22 November 2013 13:03:08 Marcos Douglas wrote:
 On Fri, Nov 22, 2013 at 5:33 AM, Martin Schreiber mse00...@gmail.com
 wrote:
  On Friday 22 November 2013 09:09:21 Michael Schnell wrote:
  While I think, private, protected and public are enough visibility
  complexity (omitting published and all the new fancy stuff invented by
  Embarcadero), I supposed abstract is one of the concepts that should
  be added to the description.
 
  In Delphi 'published' is used to switch on RTTI for streaming, we need
  another way to define streamed properties independent of visibility
  level. 'abstract' and 'reintroduce' or equivalents are planned.

 Maybe:
 tfoo = class
   func exec(); rtti;
 end;

 Or with compiler switch:
 
 tfoo = class
  private
   fprop1: int32;
   fprop2: int32;
  protected
 {$rtti streaming}
   property prop1: int32 read fprop1 write fprop1;
  public
   property prop2: int32 read fprop2 write fprop2;
 end;
 

But you need to close the compiler switch, right?

tfoo = class
 private
  fprop1: int32;
  fprop2: int32;
 protected
{$rtti on}
  property prop1: int32 read fprop1 write fprop1;
 public
  property prop2: int32 read fprop2 write fprop2;
{$rtti off}
end;

--
Marcos Douglas

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 13:42:32 Marcos Douglas wrote:
 On Fri, Nov 22, 2013 at 9:26 AM, Martin Schreiber mse00...@gmail.com 
wrote:
  
  tfoo = class
   private
fprop1: int32;
fprop2: int32;
   protected
  {$rtti streaming}
property prop1: int32 read fprop1 write fprop1;
   public
property prop2: int32 read fprop2 write fprop2;
  end;
  

 But you need to close the compiler switch, right?
 
 tfoo = class
  private
   fprop1: int32;
   fprop2: int32;
  protected
 {$rtti on}
   property prop1: int32 read fprop1 write fprop1;
  public
   property prop2: int32 read fprop2 write fprop2;
 {$rtti off}
 end;
 

{$rtti xxx} is local to the object type definition, default at start is {$rtti 
off}. {$rtti streaming} means make rtti which can be used for streaming, set 
the streaming flag in rtti.

type
 tfoo = object //rtti is off
  private
   fprop1: int32;
   fprop2: int32;
   fprop3: int32;
  protected
   property prop1: int32 read fprop1 write fprop1; //not streamed
 {$rtti streaming}
   property prop2: int32 read fprop2 write fprop2; //streamed
  public
   property prop3: int32 read fprop3 write fprop3; //streamed
  end;

 tfoo1 = object(tfoo)   //rtti is off
  private
   fprop4: int32;
  public
   property prop4: int32 read fprop4 write fprop4; //not streamed
 end;


--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] app size on linux

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 11:28:00 misu kun wrote:
 2013/11/22, Martin Schreiber mse00...@gmail.com:
  I get 1.7MB with 'Project'-'Make 4' which uses smart-linking (-B -CX
  -XX).

 linux or windows ? .

In order to create smartlinkable units of MSEgui the MSEgui sources must be 
available while compiling with 'Make'-'Make 4'. I suggest to install 
MSEide+MSEgui as described here:
http://mseide-msegui.sourceforge.net/

I don't know if the precompiled packages from msegui.org are compiled 
with -CX.

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 13:15:07 Marcos Douglas wrote:
 On Fri, Nov 22, 2013 at 5:34 AM, Michael Schnell mschn...@lumino.de wrote:
  On 11/22/2013 09:26 AM, Martin Schreiber wrote:
  Use 'method' instead of 'sub' everywhere or introduce a new keyword?
 
  Everywhere.

 But here are two different worlds: Procedural vs. OO.
 IMHO we should not combine the two things.
 So if procedural is an old world we use an old word
 called function or function. This word, using the same abbreviation,
 speak more than 'sub'.

  I decently dislike sub. For me, a keyword should be speaking (like
  to or for) and not be an abbreviation. method is a lot shorter
  than subroutine and more speaking than sub.

 I agree. But, in that context, I will be happy using 'method' or
 'function' to class methods.

'method' for object methods with object instance pointer and 'sub' for 
ordinary subroutines is OK for me. I don't like 'method' for ordinary 
subroutines.

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 13:00:22 Marcos Douglas wrote:
 On Fri, Nov 22, 2013 at 5:26 AM, Martin Schreiber mse00...@gmail.com 
wrote:
  On Friday 22 November 2013 09:13:49 Michael Schnell wrote:
  (will non-heap objects have virtual methods ?)
 
  Yes.
 
  BTW.:
 
  IMO method is a more appropriate new combined  name for
  procedure/function than sub. It is commonly understood in the
  Object-world, and it's less likely that a program to be ported uses
  same as a variable name.
 
  Use 'method' instead of 'sub' everywhere or introduce a new keyword?

 Two different worlds. Use 'method' only for Class methods of course.


 'sub' was defined for function? No chance to change that?  :(

MSElang definition will be changed until it is perfect. :-)

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread August Oktobar
What about multiple return values (e.g. in Golang)?

something like this:

function Something(a,b:integer):integer, string;
begin
...
exit(1,'abc');
end;




On Fri, Nov 22, 2013 at 7:39 AM, Martin Schreiber mse00...@gmail.comwrote:

 On Friday 22 November 2013 06:07:37 Ivanko B wrote:
  Also, we don't know what ( var or out ) is current state result.
  What will locally defined result variable (to assign from in
  end:=) be ? What's the difference between these result-s ?
 
 One can read Delphi 'result' and forget to set it.

 Martin


 --
 Shape the Mobile Experience: Free Subscription
 Software experts and developers: Be at the forefront of tech innovation.
 Intel(R) Software Adrenaline delivers strategic insight and game-changing
 conversations that shape the rapidly evolving mobile landscape. Sign up
 now.
 http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
 ___
 mseide-msegui-talk mailing list
 mseide-msegui-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Marcos Douglas
On Fri, Nov 22, 2013 at 9:57 AM, Martin Schreiber mse00...@gmail.com wrote:
 On Friday 22 November 2013 13:42:32 Marcos Douglas wrote:
 On Fri, Nov 22, 2013 at 9:26 AM, Martin Schreiber mse00...@gmail.com
 wrote:
  
  tfoo = class
   private
fprop1: int32;
fprop2: int32;
   protected
  {$rtti streaming}
property prop1: int32 read fprop1 write fprop1;
   public
property prop2: int32 read fprop2 write fprop2;
  end;
  

 But you need to close the compiler switch, right?
 
 tfoo = class
  private
   fprop1: int32;
   fprop2: int32;
  protected
 {$rtti on}
   property prop1: int32 read fprop1 write fprop1;
  public
   property prop2: int32 read fprop2 write fprop2;
 {$rtti off}
 end;
 

 {$rtti xxx} is local to the object type definition, default at start is {$rtti
 off}. {$rtti streaming} means make rtti which can be used for streaming, set
 the streaming flag in rtti.
 
 type
  tfoo = object //rtti is off
   private
fprop1: int32;
fprop2: int32;
fprop3: int32;
   protected
property prop1: int32 read fprop1 write fprop1; //not streamed
  {$rtti streaming}
property prop2: int32 read fprop2 write fprop2; //streamed
   public
property prop3: int32 read fprop3 write fprop3; //streamed
   end;

  tfoo1 = object(tfoo)   //rtti is off
   private
fprop4: int32;
   public
property prop4: int32 read fprop4 write fprop4; //not streamed
  end;
 

But we can't do this:

type
 tfoo = object //rtti is off
  private
   fprop1: int32;
   fprop2: int32;
   fprop3: int32;
  protected
 {$rtti on}
   property prop1: int32 read fprop1 write fprop1; //streamed
 {$rtti off}
  property prop2: int32 read fprop2 write fprop2; //not streamed
  public
 {$rtti on}
  property prop3: int32 read fprop3 write fprop3; //streamed
 {$rtti off}
 end;


--
Marcos Douglas

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Marcos Douglas
On Fri, Nov 22, 2013 at 2:25 PM, August Oktobar augustokto...@gmail.com wrote:
 What about multiple return values (e.g. in Golang)?

 something like this:

 function Something(a,b:integer):integer, string;
 begin
 ...
 exit(1,'abc');
 end;

+1 !

But like this:

function Something(a,b:integer):integer, string;
begin
  //...
  return 1, 'abc';
end;

--
Marcos Douglas

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] app size on linux

2013-11-22 Thread Ivanko B
smart-linking

Note loss of debugging with GDB on smartlinked app  units.

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Ivanko B
function Something(a,b:integer):integer, string;

Like an [single-row] array of values of diferent type ? Excellent 
highly demanded !
(it may allow to avoid exessive  ugly using var subroutine params )

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Ivanko B
Mixing atomic, refcounted  object types in same return is appreciated too.

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Ivanko B
{$rtti on}
==
Why not simply a new keyword :

nortti property prop1: boiolean read boolvar1; ...;
or
rttiproperty prop1: boiolean read boolvar1; ...;

which in turn can override {$rtti on}.

It looks finer granular :) It's

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 18:25:46 August Oktobar wrote:
 What about multiple return values (e.g. in Golang)?

 something like this:

 function Something(a,b:integer):integer, string;
 begin
 ...
 exit(1,'abc');
 end;

How looks the call of the function?

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Ivanko B
How looks the call of the function?
==
Smth like in Python:

(var1,var2):= MultResFunc(arg1,arg2);

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Ivanko B
or even :

var1^,var2,@var3:= ..

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread August Oktobar
var
s:string;
i:integer;

s, i := Something(1, 2);

or

_, s := Something(1, 2);

or

i, _ := Something(1, 2);
or some other keyword (nil?)


On Fri, Nov 22, 2013 at 6:49 PM, Martin Schreiber mse00...@gmail.comwrote:

 On Friday 22 November 2013 18:25:46 August Oktobar wrote:
  What about multiple return values (e.g. in Golang)?
 
  something like this:
 
  function Something(a,b:integer):integer, string;
  begin
  ...
  exit(1,'abc');
  end;
 
 How looks the call of the function?

 Martin


 --
 Shape the Mobile Experience: Free Subscription
 Software experts and developers: Be at the forefront of tech innovation.
 Intel(R) Software Adrenaline delivers strategic insight and game-changing
 conversations that shape the rapidly evolving mobile landscape. Sign up
 now.
 http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
 ___
 mseide-msegui-talk mailing list
 mseide-msegui-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 18:46:26 Ivanko B wrote:
 {$rtti on}
 ==
 Why not simply a new keyword :

 nortti property prop1: boiolean read boolvar1; ...;
 or
 rttiproperty prop1: boiolean read boolvar1; ...;

 which in turn can override {$rtti on}.

Because it is a new keyword. I like to completely separate RTTI and streaming 
from the language.

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


[MSEide-MSEgui-talk] MSElang, Arrays

2013-11-22 Thread August Oktobar
Another idea from Golang: Slices

MyArray = array [0..10] of Type;

var
s: slice [0, 2] of MyArray;


slice (keyword) is lightweight wrapper around data (array), no allocation,
pass by reference.

in my example from index 0, length = 2
--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 18:52:32 Ivanko B wrote:
 How looks the call of the function?
 ==
 Smth like in Python:

 (var1,var2):= MultResFunc(arg1,arg2);

I think the main reason for functions are expressions and subroutine 
parameters. Use a record (- object in MSElang) in order to return multi 
value function results or out parameters.

 MultResFunc(arg1,arg2,var1,var2);


Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, Arrays

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 19:03:06 August Oktobar wrote:
 Another idea from Golang: Slices

 MyArray = array [0..10] of Type;

 var
 s: slice [0, 2] of MyArray;


 slice (keyword) is lightweight wrapper around data (array), no allocation,
 pass by reference.

 in my example from index 0, length = 2

Can you provide an example to use?

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, Arrays

2013-11-22 Thread August Oktobar
slice[0]
same as ordinary array, only limited to slice[0] and slice[1]
(length(slice) is 2)
you can pass slice of an array (or buffer) to another function without
copying or passing pointer, index and len


On Fri, Nov 22, 2013 at 7:12 PM, Martin Schreiber mse00...@gmail.comwrote:

 On Friday 22 November 2013 19:03:06 August Oktobar wrote:
  Another idea from Golang: Slices
 
  MyArray = array [0..10] of Type;
 
  var
  s: slice [0, 2] of MyArray;
 
 
  slice (keyword) is lightweight wrapper around data (array), no
 allocation,
  pass by reference.
 
  in my example from index 0, length = 2

 Can you provide an example to use?

 Martin


 --
 Shape the Mobile Experience: Free Subscription
 Software experts and developers: Be at the forefront of tech innovation.
 Intel(R) Software Adrenaline delivers strategic insight and game-changing
 conversations that shape the rapidly evolving mobile landscape. Sign up
 now.
 http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
 ___
 mseide-msegui-talk mailing list
 mseide-msegui-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread August Oktobar
What about returning by var?

function f(t: T):var T; or function f(t: T):out T; or function f(t:
T):T;var;

in delphi you must return record by pointer or var/out parameter to avoid
copying


On Fri, Nov 22, 2013 at 7:09 PM, Martin Schreiber mse00...@gmail.comwrote:

 On Friday 22 November 2013 18:52:32 Ivanko B wrote:
  How looks the call of the function?
  ==
  Smth like in Python:
 
  (var1,var2):= MultResFunc(arg1,arg2);

 I think the main reason for functions are expressions and subroutine
 parameters. Use a record (- object in MSElang) in order to return multi
 value function results or out parameters.
 
  MultResFunc(arg1,arg2,var1,var2);
 

 Martin


 --
 Shape the Mobile Experience: Free Subscription
 Software experts and developers: Be at the forefront of tech innovation.
 Intel(R) Software Adrenaline delivers strategic insight and game-changing
 conversations that shape the rapidly evolving mobile landscape. Sign up
 now.
 http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
 ___
 mseide-msegui-talk mailing list
 mseide-msegui-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Marcos Douglas
On Fri, Nov 22, 2013 at 2:55 PM, Martin Schreiber mse00...@gmail.com wrote:
 On Friday 22 November 2013 18:29:49 Marcos Douglas wrote:


 But we can't do this:
 
 type
  tfoo = object //rtti is off
   private
fprop1: int32;
fprop2: int32;
fprop3: int32;
   protected
  {$rtti on}
property prop1: int32 read fprop1 write fprop1; //streamed
  {$rtti off}
   property prop2: int32 read fprop2 write fprop2; //not streamed
   public
  {$rtti on}
   property prop3: int32 read fprop3 write fprop3; //streamed
  {$rtti off}
  end;
 

 Why not? '{$rtti off}' is another possible setting. The last {$rtti off} in
 the example is not necessary.

Do you would rather have two possibilities??
So, is this right?


type
 tfoo = object //rtti is off
  private
   fprop1: int32;
   fprop2: int32;
   fprop3: int32;
  protected
{$rtti streaming}
   property prop1: int32 read fprop1 write fprop1; //streamed
 {$rtti off}
  property prop2: int32 read fprop2 write fprop2; //not streamed
  public
{$rtti streaming}
  property prop3: int32 read fprop3 write fprop3; //streamed
 end;


IMO is more readable using:
{$rtti on} {$rtti off}

--
Marcos Douglas

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Marcos Douglas
On Fri, Nov 22, 2013 at 3:02 PM, Martin Schreiber mse00...@gmail.com wrote:
 On Friday 22 November 2013 18:46:26 Ivanko B wrote:
 {$rtti on}
 ==
 Why not simply a new keyword :

 nortti property prop1: boiolean read boolvar1; ...;
 or
 rttiproperty prop1: boiolean read boolvar1; ...;

 which in turn can override {$rtti on}.

 Because it is a new keyword. I like to completely separate RTTI and streaming
 from the language.

+1

--
Marcos Douglas

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Ivanko B
Many funcs should return bool success/failure flag and result value
for sucess (and undefined for failure). Mutiple return would excellet
for this purpose:

ret_code, func_result:= superpuperfunc(..);
if ret_code then func_result:= ...;

With the VAR approch it looks ugly :

if superpuperfunc(..,func_result) then..
  func_result:=  ..

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 19:40:29 Marcos Douglas wrote:
 On Fri, Nov 22, 2013 at 2:55 PM, Martin Schreiber mse00...@gmail.com 
wrote:
  On Friday 22 November 2013 18:29:49 Marcos Douglas wrote:
  But we can't do this:
  
  type
   tfoo = object //rtti is off
private
 fprop1: int32;
 fprop2: int32;
 fprop3: int32;
protected
   {$rtti on}
 property prop1: int32 read fprop1 write fprop1; //streamed
   {$rtti off}
property prop2: int32 read fprop2 write fprop2; //not streamed
public
   {$rtti on}
property prop3: int32 read fprop3 write fprop3; //streamed
   {$rtti off}
   end;
  
 
  Why not? '{$rtti off}' is another possible setting. The last {$rtti off}
  in the example is not necessary.

 Do you would rather have two possibilities??
 So, is this right?

 
 type
  tfoo = object //rtti is off
   private
fprop1: int32;
fprop2: int32;
fprop3: int32;
   protected
 {$rtti streaming}
property prop1: int32 read fprop1 write fprop1; //streamed
  {$rtti off}
   property prop2: int32 read fprop2 write fprop2; //not streamed
   public
 {$rtti streaming}
   property prop3: int32 read fprop3 write fprop3; //streamed
  end;
 

 IMO is more readable using:
 {$rtti on} {$rtti off}

{$rtti on}  {$rtti streaming}. {$rtti streaming} additional sets 
the streaming flag for the properties in RTTI. There probably will be many 
different RTTI settings. To be defined later. :-)

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] tstringgrid: appendrow and appenddatarow

2013-11-22 Thread Patrick Goupell

On 11/21/2013 10:49 AM, Patrick Goupell wrote:
 Hello Martin,

 What / Are there any benefits / drawbacks to using appendrow over
 appenddatarow in a tstringgrid?


Can someone provide an answer to this question?

Thanks.



--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 19:19:10 August Oktobar wrote:
 What about returning by var?

 function f(t: T):var T; or function f(t: T):out T; or function f(t:
 T):T;var;

 in delphi you must return record by pointer or var/out parameter to avoid
 copying

Are you sure? AFAIK 'result' is a hidden var parameter.

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] tstringgrid: appendrow and appenddatarow

2013-11-22 Thread Martin Schreiber
On Friday 22 November 2013 19:47:27 Patrick Goupell wrote:
 On 11/21/2013 10:49 AM, Patrick Goupell wrote:
  Hello Martin,
 
  What / Are there any benefits / drawbacks to using appendrow over
  appenddatarow in a tstringgrid?

 Can someone provide an answer to this question?

Sorry, I overlooked your mail.

   function appendrow(const value: array of msestring): integer; overload;
   function appendrow(const value: msestringarty): integer; overload;
   function appendrow(const value: msestring): integer; overload;
 //for visible single row append

   function appenddatarow(const value: array of msestring): integer; overload;
   function appenddatarow(const value: msestringarty): integer; overload;
   function appenddatarow(const value: msestring): integer; overload;
//for multiple data append in a beginupdate/endupdate block

If you need to add a single row use the first, if there are many use the 
second with beginupdate()/endupdate().

Martin

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, objects

2013-11-22 Thread Marcos Douglas
On Fri, Nov 22, 2013 at 3:51 PM, Martin Schreiber mse00...@gmail.com wrote:
 On Friday 22 November 2013 19:40:29 Marcos Douglas wrote:
 On Fri, Nov 22, 2013 at 2:55 PM, Martin Schreiber mse00...@gmail.com
 wrote:
  On Friday 22 November 2013 18:29:49 Marcos Douglas wrote:
  But we can't do this:
  
  type
   tfoo = object //rtti is off
private
 fprop1: int32;
 fprop2: int32;
 fprop3: int32;
protected
   {$rtti on}
 property prop1: int32 read fprop1 write fprop1; //streamed
   {$rtti off}
property prop2: int32 read fprop2 write fprop2; //not streamed
public
   {$rtti on}
property prop3: int32 read fprop3 write fprop3; //streamed
   {$rtti off}
   end;
  
 
  Why not? '{$rtti off}' is another possible setting. The last {$rtti off}
  in the example is not necessary.

 Do you would rather have two possibilities??
 So, is this right?

 
 type
  tfoo = object //rtti is off
   private
fprop1: int32;
fprop2: int32;
fprop3: int32;
   protected
 {$rtti streaming}
property prop1: int32 read fprop1 write fprop1; //streamed
  {$rtti off}
   property prop2: int32 read fprop2 write fprop2; //not streamed
   public
 {$rtti streaming}
   property prop3: int32 read fprop3 write fprop3; //streamed
  end;
 

 IMO is more readable using:
 {$rtti on} {$rtti off}

 {$rtti on}  {$rtti streaming}. {$rtti streaming} additional sets
 the streaming flag for the properties in RTTI. There probably will be many
 different RTTI settings. To be defined later. :-)

 Martin

H...  :-)

--
Marcos Douglas

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] app size on linux

2013-11-22 Thread misu kun
thanks Martin
i recompile it with -B -O2 -XX -Xs -CX , and i got 1.4Mb , after upx
it i got 441kb :)


thanks again

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Sieghard
Hallo Michael,

Du schriebst am Fri, 22 Nov 2013 09:28:41 +0100:

  (With fpc you need to add @ for the second, which I think is extremely
  ugly.)
  But it is thoroughly consistent with the use of @ with variables,
  where it returns their address as well.
  This makes the C approach (above) look inconsistent.
 Is this really  you speaking ?
 
 Dealing with explicit pointers is a typical way of C programming. It's a 
 beauty of Pascal that this usually is not necessary (i.e. hidden behind 
 other concepts such as object instance and with).

No. Just think yourself why.

-- 
-- 
(Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung
nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem)
---
Mit freundlichen Grüßen, S. Schicktanz
---



--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Sieghard
Hallo Martin,

Du schriebst am Fri, 22 Nov 2013 07:49:51 +0100:

 On Friday 22 November 2013 07:32:17 Martin Schreiber wrote:
  On Thursday 21 November 2013 22:23:22 Sieghard wrote:
   THen, what about using the function name as a pseudo variable to pass
   out the resukt value?
  
   (Oops - that's exactly what original Pascal did...)
 
 Actually the exotic proposal is the same as assigning to FUNCTIONNAME in 
 Pascal with the advantages that it can't be forgotten, it is not
 necessary to synchronize the names and there is no potential to
 accidentally produce a recursion by trying to read from FUNCTIONNAME. 

Ok, then. DO create your user specific LuaPerlPython and name it as you
like. You sure will be the only one who can use it correctly among the few
bold ones to use it at all.

I for my part came to use your msegui/mseide because it was functional and
based on a language I like. Maybe I'm the only one to do so, but I guess
I'll have to reorient gradually to be ready to give up on this mess in the
near future.
Anyway, thank you a lot for your previous work, and get happy with your
undertaking.

-- 
-- 
(Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung
nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem)
---
Mit freundlichen Grüßen, S. Schicktanz
---



--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] MSElang, procedures and functions

2013-11-22 Thread Marcos Douglas
On Fri, Nov 22, 2013 at 5:48 PM, Sieghard s_c_...@arcor.de wrote:
 Hallo Martin,

 Du schriebst am Fri, 22 Nov 2013 07:49:51 +0100:

 On Friday 22 November 2013 07:32:17 Martin Schreiber wrote:
  On Thursday 21 November 2013 22:23:22 Sieghard wrote:
   THen, what about using the function name as a pseudo variable to pass
   out the resukt value?
  
   (Oops - that's exactly what original Pascal did...)
 
 Actually the exotic proposal is the same as assigning to FUNCTIONNAME in
 Pascal with the advantages that it can't be forgotten, it is not
 necessary to synchronize the names and there is no potential to
 accidentally produce a recursion by trying to read from FUNCTIONNAME.

 Ok, then. DO create your user specific LuaPerlPython and name it as you
 like. You sure will be the only one who can use it correctly among the few
 bold ones to use it at all.

 I for my part came to use your msegui/mseide because it was functional and
 based on a language I like. Maybe I'm the only one to do so, but I guess
 I'll have to reorient gradually to be ready to give up on this mess in the
 near future.
 Anyway, thank you a lot for your previous work, and get happy with your
 undertaking.

Uau...
Let's all think about Sieghard's words. What we want? A 'new' language
or a Object Pascal better? Well, I prefer a better Object Pascal
language. I love this language and, unfortunately, we know this
language is dieing. The world, today, is Java, C#, C/C++ and
JavaScript... a bit of Python, Ruby... I don't know... what I know is
I can use Object Pascal for MANY types of programs. Desktop, Web,
mobile, whatever.
So, we have exceptional language, very simple, powerfull, elegant and
beautifull. Pascal has some problems, yes, and we need to think about
fix these problems, and not try to make another language and loose the
true Pascal spirit. We can use some features by another language -- of
course! They copy everything at Pascal for years! -- but we can't
forget where we came... our culture.

Best regards,
--
Marcos Douglas

--
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk