[fpc-pascal] support for using an activex
Roberto Padovani
padovani.r at gmail.com
Tue May 24 11:24:13 CEST 2011
Thanks a lot!
I've been able to create the object and connect to my device.. and
even reading some strings!
This FPC + ActiveX stuff is really cool.
> Don't know if your ActiveX sends events that you want to catch. Creating
> "event sinks" is relatively complex.
>
Yes, the most important thing is fired as an event. So, at least, I
have to try that...
> Com reference information can be found here:
> http://msdn.microsoft.com/en-us/library/ms221375.aspx
>
Basically, I didn't understand anything over there. Probably I should
read a lot more of docs, but also the content organization is not
clear to me.
Does anyone have a code example of this "event sinking" ?
Thanks anyway,
Roberto
> Ludo
>
>
> -----Message d'origine-----
> De : fpc-pascal-bounces at lists.freepascal.org
> [mailto:fpc-pascal-bounces at lists.freepascal.org] De la part de Roberto
> Padovani
> Envoyé : lundi 23 mai 2011 15:07
> À : FPC-Pascal users discussions
> Objet : Re: RE : [fpc-pascal] support for using an activex
>
>
> Wow, this sound like good news!
>
> The activex I have is not visual; it is "simply" a class that creates a
> thread in which a physical device is controlled through a serial port, with
> a particular protocol. The class then has methods like "Open channel", "Read
> Mesaure", and so on.
>
> Is there any documentation I can read? I think I have to translate some
> header files to understand the exchanged data...or shall I use only variant
> ?
> I suppose I have to change MSWord :=
> CreateOleObject('Word.Application'); into something related to my
> class; where do I discover the "name.surname" ?
>
> Thanks all!
>
>
> 2011/5/23 Ludo Brands <ludo.brands at free.fr>:
>> If the activex is not a visual control that you want to put on a LCL
>> form you can use CreateOleObject. Note that you don't load ActiveX
>> dll's directly. ActiveX objects are registered in Windows by the
>> installer or manually with Regsvr32.exe. Windows loads the ddl for you
>> when you call CreateOleObject. Ole components are reference counted
>> and released when not used anymore.
>>
>> Here is a simple sample program when you have MS Word installed.
>>
>>
>> program Project1;
>>
>> {$mode objfpc}{$H+}
>>
>> uses
>> {$IFDEF UNIX}{$IFDEF UseCThreads}
>> cthreads,
>> {$ENDIF}{$ENDIF}
>> Classes
>> { you can add units after this }
>> ,sysutils,ComObj;
>>
>> {$R *.res}
>>
>> var
>> MSWord,WordDoc,WordPara: Variant;
>> begin
>> MSWord := CreateOleObject('Word.Application');
>> MSWord.Visible:=true;
>> WordDoc := MSWord.Documents.Add;
>> WordDoc.Activate;
>> WordPara := WordDoc.Content.Paragraphs.Add;
>> WordPara.Range.Text := 'Hello World!';
>> WordDoc.SaveAs('C:\Test.Doc');
>> Sleep(10000);
>> WordDoc.Close(False);
>> MSWord.Quit;
>> MSWord := Unassigned;
>> WordDoc := Unassigned;
>> WordPara := Unassigned;
>> end.
>>
>>
>>
>> -----Message d'origine-----
>> De : fpc-pascal-bounces at lists.freepascal.org
>> [mailto:fpc-pascal-bounces at lists.freepascal.org] De la part de Roberto
>> Padovani Envoyé : lundi 23 mai 2011 12:24
>> À : FPC-Pascal users discussions
>> Objet : [fpc-pascal] support for using an activex
>>
>>
>> Hi List!
>>
>> I looked around the archives and forum, but I didn't come up with a
>> clear answer. Besides, I'm not expert of the win32 and COM world.
>>
>> If I am given an ActiveX, with source code included, is it possible to
>> using from a freepascal / lazarus app like any other dll? I mean
>> loading the dll, instantiating the object and calling some methods.
>>
>> If so, can anyone point me to some documentation or example?
>>
>> Thanks a lot,
>>
>> Roberto
>> _______________________________________________
>> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
>> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>>
>> _______________________________________________
>> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
>> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>>
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>
More information about the fpc-pascal
mailing list