[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] Re: Using External DLL from AFL | Solution



PureBytes Links

Trading Reference Links

Wow!  Yes, that does it... so many steps, any one of which can create a 
deadend.  Hopefully TJ can update the AB documentation with this useful 
information.

Thanks Hanan!

----- Original Message ----- 
From: "hanan.harush" <hanan.harush@xxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Saturday, April 21, 2007 3:26 PM
Subject: [amibroker] Re: Using External DLL from AFL | Solution


>I have succeeded.
>
> Here are my understandings:
> 1. Description:
> You don't build ActiveX DLLs in .net.  You build .net assembly DLLs.
> If you wish to use a .net assembly in COM you can compile the project
> with the setting to make it COM Callable by means of the "Register for
> COM interop" checkbox inside the project's properties page.  Once the
> ..net assembly is created you can use the RegASM tool to register the
> assembly in the way you would use regsvr32.
>
> # How to: Register a Component for COM Interop
> http://msdn2.microsoft.com/en-us/library/w29wacsy(vs.80).aspx
>
> # Assembly Registration Tool
> http://msdn2.microsoft.com/en-us/library/tzat5yw6(vs.71).aspx
>
> The steps are:
> 1. Create a Class library project using VS .Net
> 2. set the VS project Build property to "Register for COM interop".
> 3. set the VS project Application Assembly Information property to
> "make assembly COM-accessible"
> 4. Compile it
> 5. Register the Assembly using RegASM ( located at my PC
> "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe" )
> 6. Create your class object from AFL ( using CreateObject() )
> 7. Enjoy :)
>
> If any of you still have questions do not hesitate to contact me.
>
> Cheers
> Hanan
>
>
>
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "hanan.harush" <hanan.harush@xxx> wrote:
>>
>> --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@> wrote:
>> >
>> > Hello,
>> >
>> > Detailed step-by-step instruction is (surprise!) in the manual:
>> > http://www.amibroker.com/guide/a_aflcom.html
>> >
>> > Best regards,
>> > Tomasz Janeczko
>> > amibroker.com
>> > ----- Original Message ----- 
>> > From: "cstrader" <cstrader232@>
>> > To: <amibroker@xxxxxxxxxxxxxxx>
>> > Sent: Friday, April 20, 2007 7:04 PM
>> > Subject: Re: [amibroker] Using External DLL from AFL
>> >
>> >
>> > > OK, I'd really like to know if you have success with this because
>> I've tried
>> > > for months and never succeeded in getting an activex control to
>> run from AB.
>> > > I became convinced it was not possible.
>> > >
>> > > I have vb studio 2005
>> > >
>> > > I create the assembly  classlibrary1.dll
>> > > it has a class:  class1
>> > > which has a method:  test
>> > >
>> > > Public Class Class1
>> > > Public Function test() As Integer
>> > >
>> > > Return 1
>> > >
>> > > End Function
>> > >
>> > > End Class
>> > >
>> > > I check the "make assembly com visible" checkbox (should
> register it)
>> > >
>> > > I get no error from the following AFL:  But nor does the function
>> test
>> > > return any value other than "EMPTY".
>> > >
>> > > myobj = CreateObject("ClassLibrary1.Class1");
>> > >
>> > > test = myobj.test;
>> > >
>> > > printf ("ZZ" + test);
>> > >
>> > > What am I doing wrong?
>> > >
>> > > How to debug?
>> > >
>> > > Thanks
>> > >
>> > >
>> > > ----- Original Message ----- 
>> > > From: "Tomasz Janeczko" <groups@>
>> > > To: <amibroker@xxxxxxxxxxxxxxx>
>> > > Sent: Friday, April 20, 2007 12:24 PM
>> > > Subject: Re: [amibroker] Using External DLL from AFL
>> > >
>> > >
>> > >> Hello,
>> > >>
>> > >> Visual BASIC does not create PLUGINS. So it does not need to be put
>> > >> inside plugins directory.
>> > >>
>> > >> What you have created is ActiveX and to use it you need to
>> > >> REGISTER it (There is an appropriate option in Visual Basic).
>> > >>
>> > >> If you move the activex to another computer you need to register it
>> > >> using regsvr32.exe <nameofyourdll>
>> > >>
>> > >> Best regards,
>> > >> Tomasz Janeczko
>> > >> amibroker.com
>> > >> ----- Original Message ----- 
>> > >> From: "hanan.harush" <hanan.harush@>
>> > >> To: <amibroker@xxxxxxxxxxxxxxx>
>> > >> Sent: Friday, April 20, 2007 2:20 PM
>> > >> Subject: [amibroker] Using External DLL from AFL
>> > >>
>> > >>
>> > >>> Hi All,
>> > >>>
>> > >>> 1. I have created a simple DLL  and tried to call a basic function
>> > >>> from the DLL with zero success:
>> > >>> 2. I put the MYDLL.dll file in AB Plugins directory ( as
> required ).
>> > >>>
>> > >>> Any idea why i CreateObject() fails ?
>> > >>>
>> > >>> Regards,
>> > >>> Hanan Harush
>> > >>>
>> > >>> # here is my code
>> > >>> Public Class MYDLL
>> > >>>    Private _VERSION As Integer
>> > >>>    Public Sub New()
>> > >>> _VERSION  = 56
>> > >>>    End Sub
>> > >>>
>> > >>>    Public Function getVersion() As integer
>> > >>>        Return  _VERSION
>> > >>>    End Function
>> > >>>
>> > >>> End Class
>> > >>>
>> > >>> # and my AFL code:
>> > >>> myobj = CreateObject("MYDLL");
>> > >>>
>> > >>> if (myobj)
>> > >>> {
>> > >>> ver=myobj.getVersion();
>> > >>>
>> > >>> _TRACE("SUCCESS" + ver);
>> > >>>
>> > >>> }
>> > >>>
>> > >>> else
>> > >>> {
>> > >>>
>> > >>> _TRACE("FAILED " );
>> > >>> }
>> > >>> Buy = 5;
>> > >>> Sell =10;
>> > >>> Plot(Close,"Price",colorBlack,styleBar);
>> > >>>
>> > >>>
>> > >>>
>> > >>>
>> > >>> Please note that this group is for discussion between users only.
>> > >>>
>> > >>> To get support from AmiBroker please send an e-mail directly to
>> > >>> SUPPORT {at} amibroker.com
>> > >>>
>> > >>> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
>> > >>> http://www.amibroker.com/devlog/
>> > >>>
>> > >>> For other support material please check also:
>> > >>> http://www.amibroker.com/support.html
>> > >>>
>> > >>> Yahoo! Groups Links
>> > >>>
>> > >>>
>> > >>>
>> > >>>
>> > >>>
>> > >>
>> > >>
>> > >> Please note that this group is for discussion between users only.
>> > >>
>> > >> To get support from AmiBroker please send an e-mail directly to
>> > >> SUPPORT {at} amibroker.com
>> > >>
>> > >> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
>> > >> http://www.amibroker.com/devlog/
>> > >>
>> > >> For other support material please check also:
>> > >> http://www.amibroker.com/support.html
>> > >>
>> > >> Yahoo! Groups Links
>> > >>
>> > >>
>> > >>
>> > >
>> > >
>> > >
>> > > Please note that this group is for discussion between users only.
>> > >
>> > > To get support from AmiBroker please send an e-mail directly to
>> > > SUPPORT {at} amibroker.com
>> > >
>> > > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
>> > > http://www.amibroker.com/devlog/
>> > >
>> > > For other support material please check also:
>> > > http://www.amibroker.com/support.html
>> > >
>> > > Yahoo! Groups Links
>> > >
>> > >
>> > >
>> > >
>> > >
>> >
>> I think the updated question should be:
>> is it still possible to make an ActiveX DLL with VB .NET ?
>>
>> Is anyone can assist ?
>>
>> Hanan
>>
>
>
>
>
> Please note that this group is for discussion between users only.
>
> To get support from AmiBroker please send an e-mail directly to
> SUPPORT {at} amibroker.com
>
> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> http://www.amibroker.com/devlog/
>
> For other support material please check also:
> http://www.amibroker.com/support.html
>
> Yahoo! Groups Links
>
>
>



Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html
 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/