Re: [Lazarus] Valladolid Programming Contest simple test fails at compile?

2009-03-27 Thread Thierry Coq
yes, it does read from standard input and output file. So there's no 
need to create textfiles. (It is possible to mention the input and 
output files in the program declaration such as : program test1(input, 
output).

Adding {$MODE OBJFPC}on Joshyfun's suggestion solved the compiler error.

Now I have an time exceeded issue, which doesn't seem too likely as I 
implemented a rather standard solution. I wonder if the repeat until 
eof or while eof do is not the issue...the program would be waiting 
endlessly for another input which isn't coming. Usually one checks the 
input file is empty by using eof. Is there another way recommended for 
these contests?

Thanks all of you for the help!
Thierry

Vincent Snijders wrote:
 waldo kitty schreef:
   
 Mehmet Erol Sanliturk wrote:
 
 On Thursday 26 March 2009 05:16:32 pm Thierry Coq wrote:
   
   TEST PROGRAM

 program Test1;
 
 [CHOMP]
 
   until eof;
 end.

  END OF TEST PROGRAM
 ___

 
 At until eof , there should be a file variable name as eof ( FN ) 
 where FN may be

 var FN : Text ;
 or
 var FN : File ... ;
   
 not only that, there's nothing that names and opens that file, either...

 

 So, it must read from stdin, which seems a reasonable thing in contests.

 Vincent
 ___
 Lazarus mailing list
 Lazarus@lazarus.freepascal.org
 http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


   

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Interact with M$ Word

2009-01-31 Thread Thierry Coq
I agree with Phil. Automation is completely independent of the language.

There are currently three solutions to do what you want, in FPC/Lazarus.
a - wait for the next full version of FPC. Automation is scheduled to be 
included. COM is already available.
b - based on the COM layer, build a Word Interface unit to insert your 
data into the word tables.
c - use Excel as an intermediate. Generate your tables there, and ask 
your user or do a little VB code to load the Excel tables into the Word 
document.

As a help, I am doing a port of Excel Automation of which a very 
preliminary version is available here:
http://tcoq.free.fr/composants.html.
It uses the COM layer to provide an easier access to Excel Automation, 
from FPC/Lazarus.
You can use it either as an example to do the b) option, or as a means 
to do c) option.

Good luck,
Thierry

Mac Programmer wrote:
 Automation has nothing to do with VBA. That's the whole point of 
 Automation, that it's language independent.

 As Felipe rightly points out, many Laz users could profit from a 
 library for creating office documents. Ideally it would have 3 notable 
 characteristics:

 (1) Can create any type of office document programmatically without a 
 particular office app or version being present. For word processing 
 documents, RTF is perfect since it's a text format that is well 
 supported by all word processors. FPC includes a unit for working with 
 RTF documents. I created a thin wrapper for it that allows you to 
 create RTF documents:

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

 (2) Can manipulate the resulting RTF file with the office app. On 
 Windows, Automation works great for that purpose. Your only real 
 challenges here are: (a) Figuring out a way to mark the place in the 
 document where the table should be inserted. You can do this in a 
 number of ways, for example if your app or your users create documents 
 based on a template that you provide, you could insert a hidden 
 bookmark in the template and look for this in the document's Fields 
 collection via Automation. (b) FPC 2.2.2 does not fully support 
 Automation yet, it appears.

 You can insert text into a Word document from the clipboard via 
 Automation with something like this:

 worddoc.ActiveWindow.Selection.Paste;

 To insert an RTF file into the document:

 worddoc.ActiveWindow.Selection.InsertFile(rtffilename, 
 ConfirmConversions:=False); 

 (3) Can do (2) across a variety of word processors in a 
 cross-platform, cross-app way. This includes Word, OO and Apple's 
 Pages. On Windows you can use Automation to manipulate both Word and 
 OO. On OS X you can use AppleScript to manipulate word processors that 
 include a dictionary of classes:

 http://wiki.lazarus.freepascal.org/Multiplatform_Programming_Guide#Making_do_without_Windows_COM_Automation

 Thanks.

 -Phil

 

 ___
 Lazarus mailing list
 Lazarus@lazarus.freepascal.org
 http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
   

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Free Open Source Diagram Components for Lazarus?

2009-01-26 Thread Thierry Coq
Hello Flàvio,

I would hope to have rather a Lazarus-compatible license such as LGPL or 
Mozilla. Pure GPL for a component is, in my case, somewhat of an issue. 
I would happily give the work to improve the drawing component, but not 
necessarily the science that the component represents.

Thanks for the link in any case. Essmodel is, indeed, very interesting.

Thierry

Flávio Etrusco wrote:
 On Sun, Jan 25, 2009 at 7:41 PM, Thierry Coq t...@free.fr wrote:
   
 I'm looking for a diagramming components for Lazarus, to draw circles,
 rectangles, and connectors between them that are resized or moved when
 the components are moved. This would be used to create graph editors,
 for example for designing dynamic models.

 Do you have ideas about a mature component I could use for this purpose?
 I've been thinking about using GLScene as a 2D layer, but it seems to be
 overkill for my purpose (although 3D diagrams... hum.)

 Best regards,
 Thierry
 


 If GPL is an option, ESS-Model may be of some use:
 http://essmodel.sourceforge.net/

 Best regards,
 Flávio

 ___
 Lazarus mailing list
 Lazarus@lazarus.freepascal.org
 http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


   

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Free Open Source Diagram Components for Lazarus?

2009-01-26 Thread Thierry Coq
Both SimpleGraph and DiagramDesigner look promising!

- SimpleGraph seems easier to understand, and the license is very 
simple: the original author is not responsible, please mail him the 
sources changes, and keep his name as original author,
- DiagramDesigner has another license: no responsible, but also no 
changes allowed. So we must ask permission for any changes.

I suggest the next step is to ask both authors if they are willing to 
port these tools to Lazarus, first as a Windows port, then as a multi-OS 
port, or willing to let US do the porting, and if they are willing to 
use a recognized license scheme such as Lazarus'.

Best regards,
Thierry

Lee Jenkins wrote:
 Lee Jenkins wrote:
   
 ik wrote:
 
 There is the following components (for Delphi, but I think it can be 
 converted):
 http://angusj.com/delphi/

 It's freeware with source, so maybe we shoudl contact the developer if
 it will be converted to lazarus.

 Ido

   
 This one too is freeware and might make a good candidate to port assuming 
 you 
 could get permission from the author.  Great component btw.

 --
 Warm Regards,

 Lee

 

 Forgot the link:

 http://www.delphiarea.com/products/delphi-components/simplegraph/

 --
 Warm Regards,

 Lee


 ___
 Lazarus mailing list
 Lazarus@lazarus.freepascal.org
 http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


   

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Free Open Source Diagram Components for Lazarus?

2009-01-26 Thread Thierry Coq
Yes, I know about StarUML, it's a good tool, but it's dead: little work 
has been done since 2005. And the code base is so huge, it seems 
daunting to port the code base to Lazarus as is.

What license is it delivered with?

BR
Thierry

Alex Kovacic wrote:
 -

 try StarULM (made with delphi?)

 http://staruml.sourceforge.net/en/



 At 02:12 AM 26/01/2009 -0200, you wrote:
   
 On Sun, Jan 25, 2009 at 7:41 PM, Thierry Coq t...@free.fr wrote:
 
 I'm looking for a diagramming components for Lazarus, to draw circles,
 rectangles, and connectors between them that are resized or moved when
 the components are moved. This would be used to create graph editors,
 for example for designing dynamic models.

 Do you have ideas about a mature component I could use for this purpose?
 I've been thinking about using GLScene as a 2D layer, but it seems to be
 overkill for my purpose (although 3D diagrams... hum.)

 Best regards,
 Thierry
   
 If GPL is an option, ESS-Model may be of some use:
 http://essmodel.sourceforge.net/

 Best regards,
 Flávio

 ___
 Lazarus mailing list
 Lazarus@lazarus.freepascal.org
 http://www.lazarus.freepascal.org/mailman/listinfo/lazarus

 
 Alex Kovacic(PTC,HPTC,MHGSA,BSc,MSc)
 SENIOR SCIENTICT,
 FISH Lab
 CYTOGENETICS UNIT,
 SEALS,Level 4, Campus Centre,
 Prince Of Wales Hospital,
 RANDWICK, NSW, 2031,
 AUSTRALIA,
 Tel: (61) (02) 9382 9168
 Fax: (61) (02) 9382 9157
 email1:a.kova...@unsw.edu.au
 email2:kovac...@sesahs.nsw.gov.au


 ___
 Lazarus mailing list
 Lazarus@lazarus.freepascal.org
 http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


   

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] Free Open Source Diagram Components for Lazarus?

2009-01-25 Thread Thierry Coq
I'm looking for a diagramming components for Lazarus, to draw circles, 
rectangles, and connectors between them that are resized or moved when 
the components are moved. This would be used to create graph editors, 
for example for designing dynamic models.

Do you have ideas about a mature component I could use for this purpose?
I've been thinking about using GLScene as a 2D layer, but it seems to be 
overkill for my purpose (although 3D diagrams... hum.)

Best regards,
Thierry
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Saving user created component structure to LFM file

2009-01-12 Thread Thierry Coq
Dear Martin,
In Delphi, I frequently used the mecanism you described, but I had to 
use the root WriteComponentRes procedure, not the WriteComponent one, 
which is only available for subcomponents.
I did not use TCollection, which is capable of writing components (too 
complex for my usage). What I did do, was create container classes with 
TComponent as Parent. By default, TComponent stores all children. The 
root component must also give a name to each component, or the storage 
will not work.

The end result is the capability to store a hierarchy of objects in a 
consistent manner.

You should look for WriteComponentResFile in classes.inc and see how 
this work, with a few tries.

Hope this helps,
Thierry

Martin Friebe wrote:
 Hi, I have a problem saving a certain component struicture to an LFM 
 (lazarus) file and read it back.

 since a good amount of code is in FPC, I am not sure which list to go to?

 There is classes/writer.inc with has TBinaryObjectWriter. This is where 
 things go first.
 Then, later this gets translated into text. This translation seems to be 
 stricter in terms of  what can be nested.


 Anyway the problem is, that if I want to save a component (that can be 
 of different class/classes) then I can use WriteComponent. But only if I 
 am in a Component that is itself written with WriteComponent.

 In the final LFM it seems a Component can only be nested in an other 
 component. It does not seem to be possible to put it in:
 - Not in a subcomponent (because a subcomponent does not write it's 
 class, but just the properties that are visible for the class given by 
 the property
  property Foo: TPanel read .. write ...
   writes
  Foo.Name = 'abc'
  Foo.Top = 1
  ...
 - Not in a TCollection, or at least I havent managed. Also again a 
 TCollection is restricted to one classs for all Items
 - Not Using DefineProperties
   All propwerties with define property are of the kind
   Name = Value
   I can add a list, but even inside the list I can not write a component


 What I want to archive is theFollowing. I have

  TMainComponent = class (foo)
property Options : TPersitentBar read  x write x;
  end

 If It has to be it can be a TComponent, with SubComponent in 
 TComponentStyle.
 Problem 1)   Options is always created in the constructor, it can not be 
 stored as a nested Component in the LFM. If it was, it would exist twice 
 (once created in the constructor, and once loaded from the lfm)

 TPersitentBar should have a list of components, variable number, and 
 different subclasses (could inherit from TPersistent, only Component if 
 it makes it easier)

 How can I get this list saved into the lfm? Each item has a diff class, 
 and diff properties, so they must saved via WriteComponent. (Which does 
 not work for DefineProerties)

 And of course a default list of items is created in the constructor, so 
 I need to detect if they are loaded, and remove the defaults.

 Any Idea?

 Example of the final structure (if only it was valid)

  object MainComp1 : TMainComponent
   Options.AllowFoo = 1
   Options.AllowABC = 2
   object Options.SubOptionsForCars : TCarOptions
   MAxCar = 4
   end
   object Options.SubOptionsForTrains : TTrainOptions
   MAxTrain = 1
   end
  end


 Best Regards
 Martin




 ___
 Lazarus mailing list
 Lazarus@lazarus.freepascal.org
 http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


   

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Making components interpreted?

2008-12-14 Thread Thierry Coq
Marco van de Voort wrote:
 On Fri, Dec 05, 2008 at 11:35:26PM +0100, Thierry Coq wrote:
   
 The research could be sped up quite fast by looking at how Kylix 
 implemented package loading some time ago. I think it had dynamic 
 loading on Unix.
 

 Maybe, but there are both license issues, and also the chance that Kylix
 solution is a Linux hack looming over htat.
   
One just needs to look at which APIs Kylix used in Linux: there is no 
chance of a breach of licence there. I'm not suggesting to copy/paste code.
After all, I have independtly reimplemented the library loading code in 
Windows, so it should be possible to do the same kind of trick in Linux.


 ___
 Lazarus mailing list
 Lazarus@lazarus.freepascal.org
 http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


   

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Making components interpreted?

2008-12-05 Thread Thierry Coq
The research could be sped up quite fast by looking at how Kylix 
implemented package loading some time ago. I think it had dynamic 
loading on Unix.

Best regards,
Thierry

Marco van de Voort wrote:
 On Fri, Dec 05, 2008 at 02:36:48PM +0200, Reenen Laurie wrote:
   
 I think simply implementing packages would be easier, and also serves other
 purposes. (it's not just a plugin system for Lazarus, but at the same time
 for the generated apps)
   
 Is this in the short / mid term pipeline?
 

 Nobody is currently working on it. There is even a trajectory of research
 before it. (to come up with the best approach to implement them on *nix)

 http://wiki.freepascal.org/packages
  
   
 Because I guess that's all I actually wanted, but thought that perhaps an
 interpreter would be a shortcut.
 

 I think the interpreter wouldn't be that much more easy to get workable, its
 is not just the IDE, but you need to define script-binary interfaces
 anywhere.

 But more importantly, it would break compatibility (with delphi, with the
 current situation) horribly, AND make packages dual language, dual-tool
 (pascalscript and native pascal). Despite being static, at least the
 packages system now is both versatile and Delphi pkgs can be ported
 reasonably fast.

 IMHO the solution is worse than the problem here.
 ___
 Lazarus mailing list
 Lazarus@lazarus.freepascal.org
 http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


   

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] New Excel Interface Component

2008-11-09 Thread Thierry Coq
It may be the same problem I encountered on the Excel translation: 
Delphi understands DISPID interfaces, while FPC doesn't entirely, for 
the moment.

Using the manner in which ExcelInterface manages DISPID could be a good 
way to do the same thing for OOO.

I'll give it a thought.

Thierry Coq
Luiz Americo Pereira Camara wrote:
 Henrique Faria escreveu:
 Very good. What about something to OpenOffice?
  

 It seems fpc OLE support is not good enough to work with OO.

 Attached are a Lazarus project and a Delphi project that converts a OO 
 document to pdf. Both shares the same unit (OOPdf) and have the same 
 logic.

 Delphi version works OK. Lazarus one crashes.

 Using:
 Lazarus 0.9.27 + fpc 222
 TurboDelphi

 Luiz
 

 ___
 Lazarus mailing list
 Lazarus@lazarus.freepascal.org
 http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
   

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] New Excel Interface Component

2008-11-09 Thread Thierry Coq
Yes, definitively,

I've checked, this code seems to be currently geared to use DISPID 
interfaces. This works in Delphi, but not in FPC for the time being.

For example, the following code:
   fDocument := fDesktop.loadComponentFromURL('file:///'+ 
StringReplace(FileName, '\', '/', [rfIgnoreCase, rfReplaceAll]) , 
'_blank', 0, wProperties);

declares fDocument as an OleVariant. The author hopefully expects FPC to 
understand how to go and fetch loadComponentFromURL. It ain't gonna 
work ;-).

It should be done this way:
   var fDocument : IDispatch;
   ...
   fDocument.InvokeDispatch( DISPID_LOADCOMPONENTFROMURL, ...);

Thierry Coq

Luiz Americo Pereira Camara wrote:
 Henrique Faria escreveu:
 Very good. What about something to OpenOffice?
  

 It seems fpc OLE support is not good enough to work with OO.

 Attached are a Lazarus project and a Delphi project that converts a OO 
 document to pdf. Both shares the same unit (OOPdf) and have the same 
 logic.

 Delphi version works OK. Lazarus one crashes.

 Using:
 Lazarus 0.9.27 + fpc 222
 TurboDelphi

 Luiz
 

 ___
 Lazarus mailing list
 Lazarus@lazarus.freepascal.org
 http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
   

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] New Excel Interface Component

2008-11-09 Thread Thierry Coq
Link should be fixed now.

Luiz Americo Pereira Camara wrote:
 Thierry Coq escreveu:
   
 Yes, definitively,

 I've checked, this code seems to be currently geared to use DISPID 
 interfaces. This works in Delphi, but not in FPC for the time being.

 For example, the following code:
fDocument := fDesktop.loadComponentFromURL('file:///'+ 
 StringReplace(FileName, '\', '/', [rfIgnoreCase, rfReplaceAll]) , 
 '_blank', 0, wProperties);

 declares fDocument as an OleVariant. The author hopefully expects FPC to 
 understand how to go and fetch loadComponentFromURL. It ain't gonna 
 work ;-).

 It should be done this way:
var fDocument : IDispatch;
...
fDocument.InvokeDispatch( DISPID_LOADCOMPONENTFROMURL, ...);

 Thierry Coq
   
 

 I tried to download your component to see the implementation but i'm 
 getting Page not found message for both packages (binary and src)
 Can you take a look at it?

 Luiz
 ___
 Lazarus mailing list
 Lazarus@lazarus.freepascal.org
 http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


   

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] Issue with IDispatch.Invoke: Can't set Word.Application.Visible to false?

2008-10-23 Thread Thierry Coq

Hello,

I've trying to connect to a Word or Excel application with Lazarus 0.9.26.
The IDispatch does not work,
I've tried going to the Invoke API, and it still doesn't work.
I'm able to create a Word.Application objet, I'm even able to get the 
pointer to the Visible property.

I just can't set the Visible property to true: I get the error message:

// -2147352572 = DISP_E_PARAMNOTFOUND: parameter not found

Please see attached code.



Does somebody know how to call Invoke on IDispatch or better still, 
how to call directly methods and properties of Word or Excel objects in 
Lazarus?


BR
Thierry

object Form1: TForm1
  Left = 332
  Height = 300
  Top = 158
  Width = 400
  Caption = 'Form1'
  ClientHeight = 300
  ClientWidth = 400
  ParentFont = False
  LCLVersion = '0.9.26'
  object Button1: TButton
Left = 96
Height = 25
Top = 70
Width = 75
Caption = 'Test'
OnClick = Button1Click
TabOrder = 0
  end
  object Memo1: TMemo
Left = 24
Height = 141
Top = 121
Width = 272
Lines.Strings = (
  'Memo1'
)
TabOrder = 1
  end
end
{ Ceci est un fichier ressource généré automatiquement par Lazarus }

LazarusResources.Add('TForm1','FORMDATA',[
  'TPF0'#6'TForm1'#5'Form1'#4'Left'#3'L'#1#6'Height'#3','#1#3'Top'#3#158#0#5'Wi'
  +'dth'#3#144#1#7'Caption'#6#5'Form1'#12'ClientHeight'#3','#1#11'ClientWidth'#3
  +#144#1#10'ParentFont'#8#10'LCLVersion'#6#6'0.9.26'#0#7'TButton'#7'Button1'#4
  +'Left'#2'`'#6'Height'#2#25#3'Top'#2'F'#5'Width'#2'K'#7'Caption'#6#4'Test'#7
  +'OnClick'#7#12'Button1Click'#8'TabOrder'#2#0#0#0#5'TMemo'#5'Memo1'#4'Left'#2
  +#24#6'Height'#3#141#0#3'Top'#2'y'#5'Width'#3#16#1#13'Lines.Strings'#1#6#5'Me'
  +'mo1'#0#8'TabOrder'#2#1#0#0#0
]);
unit FMainTestWord;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
  private
{ private declarations }
  public
{ public declarations }
  end; 

var
  Form1: TForm1; 

implementation

uses Windows, Variants, ComObj, ActiveX;
{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
const
  ServerName = 'Word.Application';
var
  Server : OleVariant;
  Id : TCLSID;
  GuID : TGUID;
  aServer : IDispatch;
  aResult: HRESULT;
  Member: WideString;
  lDispID: Integer;
  Params: TDispParams;
  ExceptInfo : TExcepInfo;
  VarResult: OleVariant;
  ArgErr : DWord;
  LocalVariantArg : array[0..3] of TPROPVARIANT;
  dispidNamed :  DISPID;
begin
  if Assigned(InitProc) then
TProcedure(InitProc);

  aServer := nil;
  Id := ProgIDToClassID(ServerName);
  GuID := ProgIDToClassID(ServerName);
  dispidNamed := DISPATCH_PROPERTYPUT;
  Member := 'Visible';
  ldispID := 0;

  FillChar(ExceptInfo, SizeOf(ExcepInfo),0);
  FillChar(Params, SizeOf(DispParams),0);
  FillChar(LocalVariantArg,SizeOf(LocalVariantArg),0);
  Params.rgvarg := @LocalVariantArg;

  Memo1.Lines.Clear;
  try
//Server := CreateOleObject(ServerName);
//Server := CreateComObject(GuiD);

   aResult := CoCreateInstance(GuiD,nil,CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IDispatch, aServer);
   Memo1.Lines.Add('CoCreateInstance Result =' +IntToStr(aResult));


   //aServer.QueryInterface(IDispatch,Server)
   //Server := aServer;
  except
Memo1.Lines.Add('Unable to start Word.');
Exit;
  end;

  //Server.Visible := True;  {Make Word visible}
  aResult := aServer.GetIDsOfNames(GUID_NULL, @Member, 1, LOCALE_USER_DEFAULT, @lDispID);
  Memo1.Lines.Add('GetIDsOfNames on Visible Result =' +IntToStr(aResult));


  (* Params.rgvarg[0].VT := varError;
  Params.rgvarg[0].scode := DISP_E_PARAMNOTFOUND;
  Params.rgvarg[1].VT := varError;
  Params.rgvarg[1].scode := DISP_E_PARAMNOTFOUND;*)

  // the first parameter is a bool
  LocalVariantArg[0].VT := VT_BOOL;
  LocalVariantArg[0].boolVal := True;
  Params.cArgs := 1;
  Params.cNamedArgs := 1;
  Params.rgdispidNamedArgs:= @dispidNamed;

  aResult := aServer.Invoke( lDispID, GUID_NULL, 0, DISPATCH_PROPERTYPUT, Params,
 @VarResult, @ExceptInfo, @ArgErr);
  Memo1.Lines.Add('Invoke on Visible Result =' +IntToStr(aResult));
  // -2147024809 = COR_E_ARGUMENT: wrong parameters
  // -2147352572 = DISP_E_PARAMNOTFOUND: parameter not found


  {Open existing document}  //Substitute your path and doc
  //Server.Documents.Open('c:\Test.doc');

end;

initialization
  {$I FMainTestWord.lrs}

end.

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] [OT] - Small PC Suggestions?

2008-06-08 Thread Thierry Coq
Lee Jenkins wrote:
 Hi all,

 I'm wondering if anyone can suggestion a small pc for running a simple gtk 
 lazarus app with synapse on?  Basically, I need to mount the small PC onto or 
 close to a 15 flat LCD monitor.

 It's for a bump bar system.  Like you see in fast food restaurants that 
 display 
 customer orders for the kitchen staff to prepare.

   
I've tested lazarus on eeePC and it works. I don't know about 
alternatives. The screen is only 480 pixels high, so that might be an 
issue. Depends on what you want to do.

Thierry
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] Installing Lazarus + FPC on eeePC

2008-03-09 Thread Thierry Coq
Hi all,
I've just bought a new eeePC and I've trying to install FPC and Lazarus 
on it. No success up to now.
I've tried installing libglib1.2, etc. but I still get a segmentation 
fault on FPC, can't even do a make clean. I've tried both FPC 2.0.0.4 
and 2.2.0-1 but no success.

Has anyone seen a clear installation procedure on eeePC anywhere?

BR
Thierry
PS. This is a message repeat to have this message in a separate discussion 
thread.

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] FYI: Shared Libraries support

2008-02-23 Thread Thierry Coq
Hello,

I don't understand the issue. As Razvan writes, isn't it an OS issue? 
For example, please find attached a small but complete example I've 
scratched together this morning to show how one can use dynamically 
DLLs in Windows. Obviously, a minor variation of the code could easily 
be done for the various linuxes.

FPC and Lazarus therefore do have today the capacity for dynamic 
loading of DLLs. It may be the compiler could add some syntactic glue, 
but nothing a competent programmer cannot do on his own with minor work, 
or encapsulate within a component. See the example. I guess GLScene is 
doing it already.

Or is there something I have missed here?
Best regards,
Thierry Coq

Razvan Adrian Bogdan a écrit :
 On Linux they used the OS abilities and naming rules to prevent a dll
 hell, since a typical Linux system contains at least twice (usually
 much more) the number of libraries and applications than your windows
 machine, if you have a 64 bit Linux you will see how nice libs are
 placed and with simple symlinks and version in .so names, there are
 absolutely no naming conflicts, still with all binaries in one place
 it manages to avoid the dll hell and make everyone happy.
 I assume OSX also played it smart but OSX had more planning in the first 
 place.
 The only platform with dll hell is windows, because it didn't support
 any type of links until NTFS hard links that few know about or use, on
 windows Borland was smart enough to include versions in their .bpl
 files for each Delphi version, maybe M$ should have folowed the
 example  instead of inventing a squared iron wheel covered in rubber
 named an assembly that tricks your app into dynamically loading
 whatever dll the user wants you to load, can't we implement such
 mechanism ourselvs.
 I like the way Zeos Components make use of such dynamic loading and
 use different dlls and could even have multiple versions of the same
 dll loaded at once and change between those at runtime, it is a simple
 as creating a record structure holding the dlls functions and making
 instances of this record and dynamically loading every version of the
 dll, it is even more advanced than the assembly concept because you
 can chose from the application what dll to load and even use more than
 one version of it. I think FPC could make dynamic dll loading using
 the current static dll loading syntax or very similar syntax if you
 are too lazy to write a dynamic loader but then again how much use
 would it have to have almost the same syntax, maybe it would help
 automatic converters.

 Razvan
 ___
 Lazarus mailing list
 Lazarus@lazarus.freepascal.org
 http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


   

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus