Re: [lazarus] Program plugin

2006-02-23 Thread L505

> Could someone give me an idea? I am writing an application to which I
> hope to add functionality later. One option would be to simple send out
> the new exe to all users. However, I would like to implement a plugin
> system. So a new feature could simply be added and totaly integrated to
> the original application. It is important to note that the application
> has no idea what is going to be added later.
>
> Any ideas anyone?
>

Notes:
If you want people to build plug-ins in other languages than Pascal (visual
basic, C++, C, etc) then don't use ansistrings or objects since they are
specific to Pascal.
Who is your market? People who own copies of Delphi/FPC or people who own copies
of Visual Studio, Delphi, VB, FPC, and more?

If using a DLL system and you want to export ansistrings from a DLL you can use
a memory manager trick similar to the trick being used in Pascal Server Pages
1.6.X project.

The memory manager trick to export ansistrings from a DLL is:

program MySoftware;

// export memory manager from executable (software hosting the plug-ins)
procedure ExportMemMan(out MemMan: TMemoryManager); stdcall;
begin
  GetMemoryManager(MemMan);
end;

function TestAPI: string;
begin
  result:= 'hello, this is the API in the exe ';
end;

exports
  ExportMemMan name 'GetSharedMemMan',
  TestApi;

begin
end.


library MyPlugin;

var
  GetExternalMemMan: procedure(MemMan: TMemoryManager);
  TestApi: function: string;
  MemMan: TMemoryManger; //storage of received mem manager
begin
  // get handle of EXE
  ExeHandle:= loadlibrary('yourprogram.exe');
  // import exe memory manager into DLL plug-in
  GetExternalMemMan:= getprocaddress(ExeHandle, 'GetSharedMemMan');
  GetExternalMemMan(MemMan);
  SetMemoryManager(MemMan);
  // You can now use ansistrings in dll

  TestApi:= getprocaddress(ExeHandle, 'TestApi');
  showmessage( TestApi() );
end.

Above ansistring memory manager trick should work with FPC and Delphi plug-ins,
which means Delphi developers and FPC developers will be able to make plug-ins
for your program, not just fpc developers.

The most powerful plug in systems have communication systems both held inside
the exectuable and the dll. Many people make the mistake of thinking only the
DLL can export, when in fact the program itself can contain an API of it's own
that is exported which the DLL can talk to. A simple example plug-in system that
uses an API held inside the EXE is implemented in LazarusRB in plugger_api.pas

If it is objects that you need to export then you can make procedural wrappers
that export each and every procedure/variable from that class, then reimport
them with a wrapper again. Take a look at LazarusRB sources for an example of
that system in plugger_api.pas and PluggerWrapper.pas.

Or of course you also can wait until fpc is able to export BPL style packages,
which again will only work with FPC and not plug ins built with Delphi or other
languages like C/C++/VB. It depends on your needs and the type of program it is.

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


Re: [lazarus] Program plugin

2006-02-23 Thread Alexander Todorov
On 2/23/06, Andreas Berger <[EMAIL PROTECTED]>

> Thanks, I'll take a look.

You can check RemObjects' Pascal Script.
Add some classes / functions that can be accessed from the script and
then use it to communicate with the main application.

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


Re: [lazarus] Program plugin

2006-02-23 Thread Andreas Berger

Mattias Gaertner wrote:


On Thu, 23 Feb 2006 13:35:18 -0300
Andreas Berger <[EMAIL PROTECTED]> wrote:

 

Could someone give me an idea? I am writing an application to which I 
hope to add functionality later. One option would be to simple send out 
the new exe to all users. However, I would like to implement a plugin 
system. So a new feature could simply be added and totaly integrated to 
the original application. It is important to note that the application 
has no idea what is going to be added later.


Any ideas anyone?
   



If you define it that abstract, then I suggest to it abstract:

Define some abstract base classes/interfaces, which all plugins must
implement and some registration mechanisms. The IDEIntf contains a lot of
examples.
 


Thanks, I'll take a look.

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


RE: [lazarus] FPC source directory

2006-02-23 Thread Panagiotis Sidiropoulos
>Yes. Just install the FPC sources too. Maybe you already
>have installed them. Search for classes.pp.

I did what suggested and got to proceed. On adding new components I got
error "Can't find unit Interfaces". Following related thread in ml
archive, I made all adjustments suggested
(http://www.mail-archive.com/lazarus%40miraclec.com/msg01180.html) but
had same error messages:
- Identifier not found "ExceptFrameCount"
- Identifier not found "ExceptFrames"
I'm sure (am I?) that Lazarus and FPC are the latest version, downloaded
and installed just today. I searched continuasly to find any fpc 2.0.0
installation or files but there is not of them.

Is there any possible reason for this problem?

Panagiotis

-Original Message-
From: Mattias Gaertner [mailto:[EMAIL PROTECTED] 
Sent: Thursday, February 23, 2006 5:53 PM
To: lazarus@miraclec.com
Subject: Re: [lazarus] FPC source directory


On Thu, 23 Feb 2006 17:34:57 +
Panagiotis Sidiropoulos <[EMAIL PROTECTED]> wrote:

> Just today I managed to install Lazarus and FPC, the right way.
> Lazarus installed through svn. FPC downlaoded from
> http://www.freepascal.org/down/i386/linux-germany_1.html as one file,
> extracted and installed as instructions suggest.
> 
> Now, in Lazarus while trying to set FPC path I get error message: "The
> FPC source directory "usr/lib/fpc/2.0.2./units/i386-linux/" does not 
> look correct. Normally it contains directories like rtl, fcl, 
> packages, compiler, ..."

This is the path to the compiled units (.ppu).
The IDE is searching the FPC source files (.pas).

 
> This folder include some of folders mentioned but not other such
> "packages".
> 
> What is the proper relative path in this case? I remember that I had
> same problem on previous Lazarus and what I did was to download FPC 
> sources package, unpack into a permanent folder as it is and set this 
> path to Lazarus FPC path. Is this a correct approach?

Yes. Just install the FPC sources too. Maybe you already have installed
them. Search for classes.pp.


Mattias

_
 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


[lazarus] Example and tutorial about component streaming

2006-02-23 Thread Mattias Gaertner
I added an example and a wiki page about component streaming.

http://wiki.lazarus.freepascal.org/index.php/Streaming_components


Mattias

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


Re: [lazarus] Program plugin

2006-02-23 Thread Mattias Gaertner
On Thu, 23 Feb 2006 13:35:18 -0300
Andreas Berger <[EMAIL PROTECTED]> wrote:

> Could someone give me an idea? I am writing an application to which I 
> hope to add functionality later. One option would be to simple send out 
> the new exe to all users. However, I would like to implement a plugin 
> system. So a new feature could simply be added and totaly integrated to 
> the original application. It is important to note that the application 
> has no idea what is going to be added later.
> 
> Any ideas anyone?

If you define it that abstract, then I suggest to it abstract:

Define some abstract base classes/interfaces, which all plugins must
implement and some registration mechanisms. The IDEIntf contains a lot of
examples.



Mattias

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


[lazarus] Program plugin

2006-02-23 Thread Andreas Berger
Could someone give me an idea? I am writing an application to which I 
hope to add functionality later. One option would be to simple send out 
the new exe to all users. However, I would like to implement a plugin 
system. So a new feature could simply be added and totaly integrated to 
the original application. It is important to note that the application 
has no idea what is going to be added later.


Any ideas anyone?

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


Re: [lazarus] FPC source directory

2006-02-23 Thread L505
> Now, in Lazarus while trying to set FPC path I get error message:
> "The FPC source directory "usr/lib/fpc/2.0.2./units/i386-linux/" does
> not look correct. Normally it contains directories like rtl, fcl,
> packages, compiler, ..."
>
> This folder include some of folders mentioned but not other such
> "packages".
>
> What is the proper relative path in this case? I remember that I had
> same problem on previous Lazarus and what I did was to download FPC
> sources package, unpack into a permanent folder as it is and set this
> path to Lazarus FPC path. Is this a correct approach?
>

The skeleton of directores should look like what is in your /lazarus/fpcsrc/
directory.

If you want to make the skeleton fpc source directories of what lazarus looks
for, follow what exactly is in /lazarus/fpcsrc/ and then point it to your new
skeleton. If you are looking for a pre-made set up just use /lazarus/fpcsrc/
from the latest lazarus installation (fpc 2.0.2 I beleive)

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


Re: Why is this throwing an exception - ANSWER

2006-02-23 Thread A.J. Venter
It's a bug in ipro.
I checked the code at the stack trace and found this:
function TIpHtmlInternalPanel.HtmlPanel: TIpHtmlCustomPanel;
begin
Result := TIpHtmlPanel(Parent);
  while (Result.ClassType <> TIpHtmlPanel) do
Result := TIpHtmlPanel(Result.Parent);
end;

The exception gets thrown in the while line.

Now WHY they do it this way I do not know, but it means you get a real problem 
if you derive a component from it.
I commented out the lines in the function like so:
function TIpHtmlInternalPanel.HtmlPanel: TIpHtmlCustomPanel;
begin
//Result := TIpHtmlPanel(Parent);
//  while (Result.ClassType <> TIpHtmlPanel) do
//Result := TIpHtmlPanel(Result.Parent);
end;

And now my test program works as beautifully as you could wish.

>From the context I get the idea this is somehow used if you wish to embed two 
htmlpanels inside one another, which doesn't affect me - but the method they 
are using is NOT good because it causes crashes if you derive anything (which 
changes the classtype of course).

So do I report a bug ? Or how does this get fixed ?

Ciao
A.J.
-- 
A.J. Venter
Chief Software Architect
OpenLab International
www.getopenlab.com
www.silentcoder.co.za
+27 82 726 5103

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


Re: Why is this throwing an exception ?

2006-02-23 Thread A.J. Venter
Sorry, forgot to add, here is the stack trace as well:

TApplication.HandleException Access violation
  Stack trace:
  $0820B073  TIPHTMLINTERNALPANEL__HTMLPANEL,  line 15979 of iphtml.pas
  $08209DA0  TIPHTMLINTERNALPANEL__MOUSEMOVE,  line 15523 of iphtml.pas
  $0810D156  TCONTROL__WMMOUSEMOVE,  line 2882 of ./include/control.inc
  $0805CEF7
  $0810A30E  TCONTROL__WNDPROC,  line 1542 of ./include/control.inc
  $08101D49  TWINCONTROL__WNDPROC,  line 3347 of ./include/wincontrol.inc
  $08109224  TCONTROL__PERFORM,  line 1014 of ./include/control.inc
  $08100C14  TWINCONTROL__ISCONTROLMOUSEMSG,  line 2823 
of ./include/wincontrol.inc
  $08101CD9  TWINCONTROL__WNDPROC,  line 3328 of ./include/wincontrol.inc
  $0811E965  DELIVERMESSAGE,  line 3457 of gtkproc.inc
  $08126CC2  DELIVERMOUSEMOVEMESSAGE,  line 867 of gtkcallback.inc
  $08126D67  GTKMOTIONNOTIFY,  line 920 of gtkcallback.inc
  $401E164D  SYNREGEXPR_finalize_implicit,  line 936 of 
gtkglobals.ppiphtml.pas
  $40210E5A  SYNREGEXPR_finalize_implicit,  line 936 of 
gtkglobals.ppiphtml.pas
  $4021016A  SYNREGEXPR_finalize_implicit,  line 936 of 
gtkglobals.ppiphtml.pas
  $4020E234  SYNREGEXPR_finalize_implicit,  line 936 of 
gtkglobals.ppiphtml.pas
  $40243FD9  SYNREGEXPR_finalize_implicit,  line 936 of 
gtkglobals.ppiphtml.pas


-- 
A.J. Venter
Chief Software Architect
OpenLab International
www.getopenlab.com
www.silentcoder.co.za
+27 82 726 5103

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


[lazarus] Why is this throwing an exception ?

2006-02-23 Thread A.J. Venter
So there I was, thinking today, what can I do to once more save future time... 
and I realised that something I would really like is to have a component that 
can wrap around ipro and implement a simple file-based html viewer with image 
support, jpeg loading and such built-in.

Easy right, after all just that exists in the example shipped for it, so all I 
have to do is plagiarise the code a bit and create a component out of it. 

So I created my component and added the bits I wanted, mostly just a property 
for specifying an html file and a method for showing it. 

And it works, even jpg's load fine.
But immediately after loading it throws an exception, ignore the exception and 
it throws it again, and again and again (no idea is given of WHAT exception).
The frequency and timing does however suggest that the exception is thrown 
during the onpaint event (though I never TOUCHED that :p )

Anyway, here is the code:
unit simple_html;
{A simple file based html viewer component based on ippro with image viewing 
added}

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics,IPHtml,lazjpeg;

type

  TSimpleIpHtml = class(TIpHtml)
  public
property OnGetImageX;
  end;
  
  
   TSimpleHTML = class(TIpHtmlPanel)
  private
 FHtmlFile : String;
 FNewHTML: TSimpleIpHtml;
  public
{ public declarations }
  procedure HTMLGetImageX(Sender: TIpHtmlNode; const URL: string; var 
Picture: TPicture);
  procedure ShowFile; {Loads a designtime set html file}
  destructor destroy; override;
 published
 { published properties }
 constructor create(AOwner: TComponent); override;
 property HTMLFile : String Write FHtmlFile;
  end;

procedure register;

implementation
{TSImpleHTML}
procedure Register;
begin
  RegisterComponents('OLPack',[TSimpleHTML]);
end;
procedure TSimpleHTML.HTMLGetImageX(Sender: TIpHtmlNode; const URL: string;
  var Picture: TPicture);
var
  PicCreated: boolean;
begin
  try
if FileExists(URL) then begin
  PicCreated := False;
  if Picture=nil then begin
Picture:=TPicture.Create;
PicCreated := True;
  end;
  Picture.LoadFromFile(URL);
end;
  except
if PicCreated then
  Picture.Free;
Picture := nil;
  end;
end;

procedure TSimpleHTML.ShowFile;
var
  fs: TFileStream;
begin
 if FileExists(FHtmlFile) then
  try
fs:=TFileStream.Create(FHtmlFile,fmOpenRead);
try
  FNewHTML.OnGetImageX:[EMAIL PROTECTED];
  FNewHTML.LoadFromStream(fs);
finally
  fs.Free;
end;
   SetHtml(FNewHTML);
  except
on E: Exception do begin
  Writeln('Unable to open HTML file',FHtmlFile);
end;
  end;
end;




destructor TSimpleHTML.destroy;
Begin
  inherited;
end;

constructor TSimpleHTML.create(AOwner: TComponent);
begin
 FNewHTML:=TSimpleIpHtml.Create;
  inherited;
end;
end.

---
Here is the relevant parts from a simple demo program I did to test it:
  TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
OpenDialog1: TOpenDialog;
SimpleHTML1: TSimpleHTML;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);

procedure TForm1.Button2Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
   Edit1.Text := OpenDialog1.Filename;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  SimpleHTML1.HTMLFile := Edit1.Text;
  SimpleHTML1.ShowFile;
end;

---
Anybody here familiar enough with ipro to know what I am doing wrong ?

Ciao
A.J.

-- 
A.J. Venter
Chief Software Architect
OpenLab International
www.getopenlab.com
www.silentcoder.co.za
+27 82 726 5103

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


Re: [lazarus] FPC source directory

2006-02-23 Thread Mattias Gaertner
On Thu, 23 Feb 2006 17:34:57 +
Panagiotis Sidiropoulos <[EMAIL PROTECTED]> wrote:

> Just today I managed to install Lazarus and FPC, the right way.
> Lazarus installed through svn.
> FPC downlaoded from
> http://www.freepascal.org/down/i386/linux-germany_1.html as one file,
> extracted and installed as instructions suggest.
> 
> Now, in Lazarus while trying to set FPC path I get error message:
> "The FPC source directory "usr/lib/fpc/2.0.2./units/i386-linux/" does
> not look correct. Normally it contains directories like rtl, fcl,
> packages, compiler, ..."

This is the path to the compiled units (.ppu).
The IDE is searching the FPC source files (.pas).

 
> This folder include some of folders mentioned but not other such
> "packages".
> 
> What is the proper relative path in this case? I remember that I had
> same problem on previous Lazarus and what I did was to download FPC
> sources package, unpack into a permanent folder as it is and set this
> path to Lazarus FPC path. Is this a correct approach?

Yes. Just install the FPC sources too. Maybe you already have installed
them. Search for classes.pp.


Mattias

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


[lazarus] FPC source directory

2006-02-23 Thread Panagiotis Sidiropoulos
Just today I managed to install Lazarus and FPC, the right way.
Lazarus installed through svn.
FPC downlaoded from
http://www.freepascal.org/down/i386/linux-germany_1.html as one file,
extracted and installed as instructions suggest.

Now, in Lazarus while trying to set FPC path I get error message:
"The FPC source directory "usr/lib/fpc/2.0.2./units/i386-linux/" does
not look correct. Normally it contains directories like rtl, fcl,
packages, compiler, ..."

This folder include some of folders mentioned but not other such
"packages".

What is the proper relative path in this case? I remember that I had
same problem on previous Lazarus and what I did was to download FPC
sources package, unpack into a permanent folder as it is and set this
path to Lazarus FPC path. Is this a correct approach?

Regards, Panagiotis

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


Re: [lazarus] Sqlite in ReportManager

2006-02-23 Thread Graeme Geldenhuys
> There is some talk on the RM yahoo group about getting it to work with
> Laz/Fpc though

Thanks for the update...  I better go read the yahoo group again.

Regards,
  - Graeme -

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


Re: [lazarus] Interbase library

2006-02-23 Thread SteveG

Sorry - should have stuck Joost's name on top for relevance

SteveG wrote:


Adding the line didnt seem to make any diff -
this is the ordering of my code if thats any help

 SqlT   := TSqlT.Create(NIL);
 SqlQ   := TSqlQ.Create(NIL);

 DbConn[DatabaseOffset].SqlD.Transaction := SqlT;
 SqlT.StartTransaction;

 SqlQ.Database := DbConn[DatabaseOffset].SqlD;
 SqlQ.ParseSQL := FALSE;
 SqlQ.SQL.Text := QueryStr;

Joost van der Sluis wrote:


Could you try it again with ParseSQL := False?

If that works it's still a bug, but then I know where to look at it.

 



_
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] Interbase library

2006-02-23 Thread SteveG

Adding the line didnt seem to make any diff -
this is the ordering of my code if thats any help

 SqlT   := TSqlT.Create(NIL);
 SqlQ   := TSqlQ.Create(NIL);

 DbConn[DatabaseOffset].SqlD.Transaction := SqlT;
 SqlT.StartTransaction;

 SqlQ.Database := DbConn[DatabaseOffset].SqlD;
 SqlQ.ParseSQL := FALSE;
 SqlQ.SQL.Text := QueryStr;

Joost van der Sluis wrote:


Could you try it again with ParseSQL := False?

If that works it's still a bug, but then I know where to look at it.

 



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


Re: [lazarus] ExceptFrameCount while compiling

2006-02-23 Thread Panagiotis Sidiropoulos
> Use fpc 2.0.2 or later.

I just finished downloading FPC same way Lazarus, SVN. 
FPc lies in folder /usr/share/fpc. Where make file is
trying to locate fpc? Is there any default folder 
I should address?

Panagiotis

Στις 23-02-2006, ημέρα Πεμ, και ώρα 13:27 +0100, ο/η Vincent Snijders
έγραψε:
> Panagiotis Sidiropoulos wrote:
> > I downloaded Lazarus using command:
> > - svn checkout http://svn.freepascal.org/svn/lazarus/trunk lazarus
> > 
> > Then, trying to compile I get the error messages:
> > -Compiling lclproc.pas
> > -lclproc.pas(745,15) Error: Identifier not found "ExceptFrameCount"
> > -lclproc.pas(746,11) Error: Identifier not found "ExceptFrames"
> > -lclproc.pas(2721) Fatal: There were 2 errors compiling module, stopping
> > -lclproc.pas(63,12) Error: Compilation aborted
> > -make[1]: *** [alllclunits.ppu] Error 1
> > -make[1]: Leaving directory `/usr/share/lazarus/lcl'
> > -make: *** [lcl] Error 2
> > 
> > My skills on this and generally on Linux are limited so, I do not know
> > what information you need to get into any conclusion, please ask.
> > 
> > Any advise?
> >
> 
> Use fpc 2.0.2 or later.
> 
> Vincent.
> 
> _
>  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] ExceptFrameCount while compiling

2006-02-23 Thread Vincent Snijders

Panagiotis Sidiropoulos wrote:

I downloaded Lazarus using command:
- svn checkout http://svn.freepascal.org/svn/lazarus/trunk lazarus

Then, trying to compile I get the error messages:
-Compiling lclproc.pas
-lclproc.pas(745,15) Error: Identifier not found "ExceptFrameCount"
-lclproc.pas(746,11) Error: Identifier not found "ExceptFrames"
-lclproc.pas(2721) Fatal: There were 2 errors compiling module, stopping
-lclproc.pas(63,12) Error: Compilation aborted
-make[1]: *** [alllclunits.ppu] Error 1
-make[1]: Leaving directory `/usr/share/lazarus/lcl'
-make: *** [lcl] Error 2

My skills on this and generally on Linux are limited so, I do not know
what information you need to get into any conclusion, please ask.

Any advise?



Use fpc 2.0.2 or later.

Vincent.

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


[lazarus] ExceptFrameCount while compiling

2006-02-23 Thread Panagiotis Sidiropoulos
I downloaded Lazarus using command:
- svn checkout http://svn.freepascal.org/svn/lazarus/trunk lazarus

Then, trying to compile I get the error messages:
-Compiling lclproc.pas
-lclproc.pas(745,15) Error: Identifier not found "ExceptFrameCount"
-lclproc.pas(746,11) Error: Identifier not found "ExceptFrames"
-lclproc.pas(2721) Fatal: There were 2 errors compiling module, stopping
-lclproc.pas(63,12) Error: Compilation aborted
-make[1]: *** [alllclunits.ppu] Error 1
-make[1]: Leaving directory `/usr/share/lazarus/lcl'
-make: *** [lcl] Error 2

My skills on this and generally on Linux are limited so, I do not know
what information you need to get into any conclusion, please ask.

Any advise?

Regards, Panagiotis

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


Re: [lazarus] Enhanced versions of TStringGrid

2006-02-23 Thread A.J. Venter

> >
> > Being said that, I think your final question remains open to others
> > wanting to participate on ideas of enhancement, deriving or whatever :)
>
> I think, Michael already gave a nice solution: Let's implement a plugin
> system for grids.
> See SynEdit for an example.
> For the hook lists see TControl.AddHandler.
> It should be possible to write plugins for cell drawing, cell editors,
> sorting, navigation and data connections.
>
I like this idea as well (sorry if this is a me-too post :p), the concept of 
having a single top-level grid component, into which you can then plug those 
features needed by your application makes far more sense to me than having a 
dozen grid components each with one extra feature.
I would even suggest that TDBGrid should be dropped and it's functionality 
turned into a plugin for this top-level grid component. Unless of course 
people feel that would break too much compatibility/familiarity for former 
delphi users.

Ciao
A.J.
-- 
A.J. Venter
Chief Software Architect
OpenLab International
www.getopenlab.com
www.silentcoder.co.za
+27 82 726 5103

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


Re: [lazarus] Enhanced versions of TStringGrid

2006-02-23 Thread Mattias Gaertner
On Thu, 23 Feb 2006 03:02:14 -0600
"Jesus Reyes" <[EMAIL PROTECTED]> wrote:

> 
> - Original Message - 
> From: "Micha Nelissen" <[EMAIL PROTECTED]>
> To: 
> Sent: Thursday, February 23, 2006 2:32 AM
> Subject: Re: [lazarus] Enhanced versions of TStringGrid
> 
> 
> > Jesus Reyes wrote:
> > > It's a nice argument, however if this grid continue to get improved
> > > and more features are added to it, the descriptive name become
> > > misleading. TMaskEdit it's a good example of a component with a
> > > specific purpose not meant to be improved but used as it is. 
> > > 
> > > But this is also the topic of this thread, to allow a component to
> > > grow in features (in this case a better, more general name could used)
> > > or let it as it is (and in this case your argument fits very well).
> > 
> > Try to prevent designing components that are "bloated". Use as much as 
> > possible events and component connections (aka plugins), to expand 
> > features, otherwise you get a component no one can use because it's 
> > simply too complex.
> > 
> > What kind of features are you thinking to add, and how ?
> > 
> > Just my 2c,
> > 
> > Micha
> > 
> 
> We are talking of the possiblity only, indeed at the moment I don't have
> more features to add to this component and my intention was to made it
> available "as is".  However I'm happy that this thread started, I already
> was asked to make some improvements to grids and I have declined with the
> argument that it should be made in derived grids, so for me it's all
> exploring the possiblities.  
> 
> Being said that, I think your final question remains open to others
> wanting to participate on ideas of enhancement, deriving or whatever :)

I think, Michael already gave a nice solution: Let's implement a plugin
system for grids.
See SynEdit for an example.
For the hook lists see TControl.AddHandler.
It should be possible to write plugins for cell drawing, cell editors,
sorting, navigation and data connections.


Mattias

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


Re: [lazarus] Enhanced versions of TStringGrid

2006-02-23 Thread Jesus Reyes

- Original Message - 
From: "Micha Nelissen" <[EMAIL PROTECTED]>
To: 
Sent: Thursday, February 23, 2006 2:32 AM
Subject: Re: [lazarus] Enhanced versions of TStringGrid


> Jesus Reyes wrote:
> > It's a nice argument, however if this grid continue to get improved and 
> > more features are added to it, the descriptive name become misleading. 
> > TMaskEdit it's a good example of a component with a specific purpose not 
> > meant to be improved but used as it is. 
> > 
> > But this is also the topic of this thread, to allow a component to grow in 
> > features (in this case a better, more general name could used) or let it as 
> > it is (and in this case your argument fits very well).
> 
> Try to prevent designing components that are "bloated". Use as much as 
> possible events and component connections (aka plugins), to expand 
> features, otherwise you get a component no one can use because it's 
> simply too complex.
> 
> What kind of features are you thinking to add, and how ?
> 
> Just my 2c,
> 
> Micha
> 

We are talking of the possiblity only, indeed at the moment I don't have more 
features to add to this component and my intention was to made it available "as 
is".  However I'm happy that this thread started, I already was asked to make 
some improvements to grids and I have declined with the argument that it should 
be made in derived grids, so for me it's all exploring the possiblities.  

Being said that, I think your final question remains open to others wanting to 
participate on ideas of enhancement, deriving or whatever :)

Jesus Reyes A.


__
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis! 
Regístrate ya - http://correo.yahoo.com.mx/ 

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


Re: Re: [lazarus] Enhanced versions of TStringGrid

2006-02-23 Thread Lee Jingbo



 
Why not use TGrid ?
 


  
  

  
 
 
-  Original  Message  -  
From:  "Micha  Nelissen"   <[EMAIL PROTECTED] 
>
To:   
Sent:  Thursday,  February  23,  2006 
 1:54  AM
Subject:  Re:  [lazarus]  Enhanced  versions 
 of  TStringGrid
 
 
>  Jesus  Reyes  wrote:
>   > >  TStringGridPlus  is  a 
 much  better  name  :-)
>   > >
>   >  
>   >  I  don't  really  know 
 why  the  field  "to:"  is  set  to 
 your  personal  address
>   >  but  anyway  as  I 
 intended  to  send  this  to  ml 
 I'm  doing  again.
>   >  
>   >  I  Like  the  proposed 
 name  :).  Component  name  change  is 
 now  scheduled.
>  
>  Maybe  it's  nice  but  not 
 very  descriptive  IMHO.  TAttrStringGrid  at 
 least  
>  has  some  description  in  it... 
 Otherwise  every  addition  in  a 
 descendant  
>  to  TStringGrid  can  be  called 
 TStringGridPlus.  TMaskEdit  is  also  not 
 
>  called  TEditPlus  ...
>  
>  Micha
>  
 
It's  a  nice  argument,  however  if 
 this  grid  continue  to  get  improved 
 and  more  features  are  added  to 
 it,  the  descriptive  name  become 
 misleading.  TMaskEdit  it's  a  good 
 example  of  a  component  with  a 
 specific  purpose  not  meant  to  be 
 improved  but  used  as  it  is. 
 
 
But  this  is  also  the  topic  of 
 this  thread,  to  allow  a  component 
 to  grow  in  features  (in  this 
 case  a  better,  more  general  name 
 could  used)  or  let  it  as  it 
 is  (and  in  this  case  your 
 argument  fits  very  well).
 
Jesus  Reyes  A.
 
It0s
 
__
Correo  Yahoo!
Espacio  para  todos  tus  mensajes, 
 antivirus  y  antispam  �gratis!  
Reg�strate  ya  -  http://correo.yahoo.com.mx/ 
 
 
_
         To  unsubscribe:  mail 
 [EMAIL PROTECTED]  with
                  
             "unsubscribe"  as 
 the  Subject
     archives  at  http://www.lazarus.freepascal.org/mailarchives
 

= = = = = = = = = = = = = = = = = = = = = = 
  Lee Jingbo
  [EMAIL PROTECTED]
   2006-02-23
 


Re: Re: [lazarus] Enhanced versions of TStringGrid

2006-02-23 Thread Lee Jingbo



 
Documents and demos can reduce complexity.
 
Gird is very important  for apps such as MIS Application.
 
I think that TcxGrid , which is a production of DevExpress 
Comp. , is a good exmaple.
 


  
  

  
 
Jesus  Reyes  wrote:
>  It's  a  nice  argument,  however 
 if  this  grid  continue  to  get 
 improved  and  more  features  are  added 
 to  it,  the  descriptive  name  become 
 misleading.  TMaskEdit  it's  a  good 
 example  of  a  component  with  a 
 specific  purpose  not  meant  to  be 
 improved  but  used  as  it  is. 
 
>  
>  But  this  is  also  the  topic 
 of  this  thread,  to  allow  a 
 component  to  grow  in  features  (in 
 this  case  a  better,  more  general 
 name  could  used)  or  let  it  as 
 it  is  (and  in  this  case  your 
 argument  fits  very  well).
 
Try  to  prevent  designing  components 
 that  are  "bloated".  Use  as  much 
 as  
possible  events  and  component  connections 
 (aka  plugins),  to  expand  
features,  otherwise  you  get  a 
 component  no  one  can  use  because 
 it's  
simply  too  complex.
 
What  kind  of  features  are  you 
 thinking  to  add,  and  how  ?
 
Just  my  2c,
 
Micha
 
_
         To  unsubscribe:  mail 
 [EMAIL PROTECTED]  with
                  
             "unsubscribe"  as 
 the  Subject
     archives  at  http://www.lazarus.freepascal.org/mailarchives
 

= = = = = = = = = = = = = = = = = = = = = = 
 
  Lee Jingbo
   2006-02-23
 


Re: [lazarus] Enhanced versions of TStringGrid

2006-02-23 Thread Micha Nelissen

Jesus Reyes wrote:
It's a nice argument, however if this grid continue to get improved and more features are added to it, the descriptive name become misleading. TMaskEdit it's a good example of a component with a specific purpose not meant to be improved but used as it is. 


But this is also the topic of this thread, to allow a component to grow in 
features (in this case a better, more general name could used) or let it as it 
is (and in this case your argument fits very well).


Try to prevent designing components that are "bloated". Use as much as 
possible events and component connections (aka plugins), to expand 
features, otherwise you get a component no one can use because it's 
simply too complex.


What kind of features are you thinking to add, and how ?

Just my 2c,

Micha

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


Re: [lazarus] Enhanced versions of TStringGrid

2006-02-23 Thread Jesus Reyes

- Original Message - 
From: "Micha Nelissen" <[EMAIL PROTECTED]>
To: 
Sent: Thursday, February 23, 2006 1:54 AM
Subject: Re: [lazarus] Enhanced versions of TStringGrid


> Jesus Reyes wrote:
> >> TStringGridPlus is a much better name :-)
> >>
> > 
> > I don't really know why the field "to:" is set to your personal address
> > but anyway as I intended to send this to ml I'm doing again.
> > 
> > I Like the proposed name :). Component name change is now scheduled.
> 
> Maybe it's nice but not very descriptive IMHO. TAttrStringGrid at least 
> has some description in it... Otherwise every addition in a descendant 
> to TStringGrid can be called TStringGridPlus. TMaskEdit is also not 
> called TEditPlus ...
> 
> Micha
> 

It's a nice argument, however if this grid continue to get improved and more 
features are added to it, the descriptive name become misleading. TMaskEdit 
it's a good example of a component with a specific purpose not meant to be 
improved but used as it is. 

But this is also the topic of this thread, to allow a component to grow in 
features (in this case a better, more general name could used) or let it as it 
is (and in this case your argument fits very well).

Jesus Reyes A.

It0s

__
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis! 
Regístrate ya - http://correo.yahoo.com.mx/ 

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