PureBytes Links
Trading Reference Links
|
Hello,
First of all AmiBroker is NOT created using C# or any other .NET-thingy.
AmiBroker is native Win32 application developed in C++ (namely good old Visual C++ 6.0)
Yes I bought Visual Studio 2005 but I use it solely to compile 64 bit binaries.
I find VS2005 as buggy and not finished product and painfully slow.
All .NET languages are waste of
time for me (why on earth should one move from truly compiled language to
slow, interpreted IL-driven .NET thingy?).
The only good thing in VS2005 is native binary C++ compiler (for unmanaged code).
Here is one story from current Microsoft employee that tells the story behind
VS2005:
http://minimsft.blogspot.com/2005/11/hey-shareholders-vs-2005-is-fantastic.html
As to:
> I did try the example you gave
again and again and again: USE LATE BINDING (the SECOND example in the knowledge
base, NOT THE FIRST !!!!)
http://support.microsoft.com/kb/302902/
Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message -----
From: "tiedemj" <home@xxxxxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Tuesday, February 07, 2006 9:00 PM
Subject: [amibroker] Re: Amibroker Automation Object Model and C# in Visual Studio 2005
> Thanks Tomasz...!
>
> You might consider the "Shared assembly" approach - as it (if I get
> it right) seems to offer the best of two (binding) worlds: Version
> independence - but preserving the integrity of the automation code,
> as well as providing Intellisense features giving clues to correct
> calls to methods and properties. If interested, I would be happy to
> e-mail you a few (scanned) pages on the topic i found in "Visual C#
> 2005" book (Wrox) You can get me at jens@xxxxxxxxxxxx
>
> I did try the example you gave (very simple - new windows project -
> add a button, copy/paste the code - and add the "using
> System.Reflection;" statement in the top - now run/debug... But only
> to get "Exception has been thrown by the target of an invocation." -
> so i'm really not having a lot of luck... (yes, have office
> installed... all applications running...)
>
> Is there nobody else than Tomasz (who really should not spend his
> time teaching a newbee like me about general COM bindings) who's
> using the object model in C# - and can give me the code lines
> (including any "using" statements and other necessary preparations)
> for
>
> ---------------------------------
> Broker.Application ab = new Broker.Application();
> string currentPath = ab.DatabasePath;
> ---------------------------------
>
> or any other example showing how to exploit the AmiBroker object
> model in C#???
>
> Thanks and regards
> Jens Tiedemann
>
>
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <amibroker@xxx>
> wrote:
>>
>> Hello,
>>
>> No you don't need all that. There are plenty of documents on
> Microsoft site
>> that explain how to use late binding in C# .NET
>> for example:
>> http://support.microsoft.com/kb/302902/
>>
>> (all documents that cover "how to link to
> Excel/Access/Word/Powerpoint"
>> apply to any other out-proc OLE server, including AmiBroker)
>>
>> Best regards,
>> Tomasz Janeczko
>> amibroker.com
>> ----- Original Message -----
>> From: "tiedemj" <home@xxx>
>> To: <amibroker@xxxxxxxxxxxxxxx>
>> Sent: Monday, February 06, 2006 9:44 PM
>> Subject: [amibroker] Re: Amibroker Automation Object Model and C#
> in Visual Studio 2005
>>
>>
>> > still digging... for broker.tlb (dll) to be usable for all
> visual
>> > studio programming languages, it seems it needs to be provided
> as
>> > a "shared assembly". A shared assembly needs "Strong names" -
> that
>> > is, the dll needs to be signed with a public/private key. This
> can
>> > be done once in Visual Studio 2005, by
>> >
>> > 1. generating a key with the "sn" utility
>> > 2. signing the broker project using the signing tab in project
>> > properties(only Tomasz would be able to do this)
>> > 3. once recompiled, the (signed) assembly can now be made
> universaly
>> > available through the global assembly cache by copy to
>> > windows\assembly (XP)
>> >
>> > OR - am I digging in the wrong direction - and there is a much
>> > simpler solution to use the amibroker object model in C#/Visual
>> > Studio with late binding that just escapes me?
>> >
>> > regards
>> > Jens Tiedemann
>> >
>> > --- In amibroker@xxxxxxxxxxxxxxx, "tiedemj" <home@> wrote:
>> >>
>> >> OK - Great - and thanks! Now - how do I do latebinding of the
>> > Object
>> >> Model in C# using createObject. So what do I need to type to
> get
>> > the
>> >> example:
>> >>
>> >> ----------------------------
>> >> Broker.Application ab = new Broker.Application();
>> >> string currentPath = ab.DatabasePath;
>> >> ----------------------------
>> >>
>> >> to work - and what "using" statements etc. will provide the
> type
>> >> interface/suggestions/methods "lookup" when typing code? I've
> been
>> >> at it for almost a week now with no luck, probably mostly due
> to
>> > the
>> >> fact that I'm a newbee at using "foreign" COM objects in C# -
> so
>> > it
>> >> might be something very simple I'm not getting...
>> >>
>> >> Thanks
>> >> Jens Tiedemann
>> >>
>> >>
>> >> --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko"
> <amibroker@>
>> >> wrote:
>> >> >
>> >> > Hello,
>> >> >
>> >> > Late binding (via CreateObject()) is the only recommended way
>> >> since interface may change
>> >> > and all .tlb dependent programs may need recompilation. With
>> > Late
>> >> binding your code will
>> >> > be backward and forward compatible with any AB version.
>> >> >
>> >> > Best regards,
>> >> > Tomasz Janeczko
>> >> > amibroker.com
>> >> > ----- Original Message -----
>> >> > From: "William Peters" <william@>
>> >> > To: "tiedemj" <amibroker@xxxxxxxxxxxxxxx>
>> >> > Sent: Monday, February 06, 2006 6:27 PM
>> >> > Subject: Re: [amibroker] Amibroker Automation Object Model
> and
>> > C#
>> >> in Visual Studio 2005
>> >> >
>> >> >
>> >> > >
>> >> > > The same error occurs in VB 2005. After spending a week
>> >> researching
>> >> > > the issue I gave up and now use late binding.
>> >> > >
>> >> > >
>> >> > >
>> >> > > Regards,
>> >> > > William Peters
>> >> > > http://www.amitools.com
>> >> > >
>> >> > >
>> >> > >
>> >> > >
>> >> > > Monday, February 6, 2006, 11:58:05 AM, you wrote:
>> >> > > t> Hi there.
>> >> > >
>> >> > > t> Anybody having an example of the Object Model being
> used
>> > in
>> >> C# from
>> >> > > t> Visual Studio? I can't get the following to work (after
>> >> reference to
>> >> > > t> broker.dll made from broker.tlb using imptlb.exe)...
>> >> > >
>> >> > > t> The following c# code:
>> >> > > t> ----------------------
>> >> > > t> using Broker
>> >> > > t> Broker.Application ab = new Broker.Application();
>> >> > > t> string currentPath = ab.DatabasePath;
>> >> > > t> ----------------------
>> >> > >
>> >> > > t> throws the following exeption:
>> >> > >
>> >> > > t> System.InvalidCastException was unhandled
>> >> > > t> Message="Unable to cast COM object of
>> >> > > t> type 'Broker.ApplicationClass' to interface
>> >> > > t> type 'Broker.IApplication'. This operation failed
> because
>> > the
>> >> > > t> QueryInterface call on the COM component for the
> interface
>> >> with
>> >> > > t> IID '{2DCDD57B-9CC9-11D3-BF72-00C0DFE30718}' failed due
> to
>> >> the
>> >> > > t> following error: No such interface supported (Exception
>> > from
>> >> > > t> HRESULT: 0x80004002 (E_NOINTERFACE))."
>> >> > >
>> >> > >
>> >> > > t> What am I doing wrong? Also, would like to use late
>> > binding -
>> >> but
>> >> > > t> think using broker.tlb means early binding - or?
>> >> > >
>> >> > >
>> >> > >
>> >> > >
>> >> > >
>> >> > >
>> >> > >
>> >> > >
>> >> > >
>> >> > >
>> >> > >
>> >> > > 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 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 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 other support material please check also:
> http://www.amibroker.com/support.html
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>
------------------------ Yahoo! Groups Sponsor --------------------~-->
Try Online Currency Trading with GFT. Free 50K Demo. Trade
24 Hours. Commission-Free.
http://us.click.yahoo.com/RvFikB/9M2KAA/U1CZAA/GHeqlB/TM
--------------------------------------------------------------------~->
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 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/
<*> 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/
|