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

Re: [amibroker] Re: Amibroker Automation Object Model and C# in Visual Studio 2005


  • To: <amibroker@xxxxxxxxxxxxxxx>
  • Subject: Re: [amibroker] Re: Amibroker Automation Object Model and C# in Visual Studio 2005
  • From: "Tomasz Janeczko" <amibroker@xxxxxx>
  • Date: Tue, 7 Feb 2006 23:51:58 +0100

PureBytes Links

Trading Reference Links

Hello,

1. I will prepare an example soon (just few days - I am pretty busy with some other things
so this has to wait a bit).

2. 64 bit version of both AmiBroker and AmiQuote (yes for x64 ) 
will be announced / made available real soon (probably beginning of March)

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "tiedemj" <home@xxxxxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Tuesday, February 07, 2006 11:17 PM
Subject: [amibroker] Re: Amibroker Automation Object Model and C# in Visual Studio 2005


> Great and interesting views - but could one of you -or somebody 
> else, accompany them with just one little C# example? 
> 
> As far as languages go, AFL is great in and by itself. In fact, I've 
> found little that can't be done in native AFL. With some help from 
> Tomasz (through support) I've used C++ (unmanaged) to develop an 
> single AFL plugin for something that just became prohibitive in 
> native AFL - and blows the socks of anything C# could have done 
> performance wise. However, now I'm developing my "trading vehicle" 
> focused on the user interface (user being me :-) and a web robot - 
> and here, where performance is not a priority - I've had very good 
> experience with my own productivity in C# versus C++. 
> 
> I did use the second example in the ref. Tomasz - that's where I got 
> the "Exception has been thrown by the target of an invocation." But 
> gentlemen - I confess: I am NOT a professional programmer! Only the 
> solid foundation and inherent qualities in the AmiBroker program 
> itself (and a little help now and then from good guys like you) has 
> prompted and allowed me to get this far over the last six months. 
> 
> With C# I know I can get to endgame much faster than C++.. so 
> please... just one little example in C#? 
> 
> Thanks and regards, 
> 
> Jens
> 
> Btw. A 64bit AmiBroker.exe compiled for AMD - could that become 
> available Tomasz? Your product is already incredible value for 
> money - so an extra fee would be perfectly allright... (unless of 
> course you tell me it's already available somewhere :-)!
> 
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "dingo" <dingo@xxx> wrote:
>>
>> Good use of the word "thingy", duude!
>>  
>> You're cracking me up!!
>>  
>> d
>> 
>> 
>>   _____  
>> 
>> From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] 
> On Behalf
>> Of Tomasz Janeczko
>> Sent: Tuesday, February 07, 2006 3:47 PM
>> To: amibroker@xxxxxxxxxxxxxxx
>> Subject: Re: [amibroker] Re: Amibroker Automation Object Model and 
> C# in
>> Visual Studio 2005
>> 
>> 
>> 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.h
>> tml
>> 
>> 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@xxx>
>> 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@xxx
>> > 
>> > 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@> 
>> > 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@>
>> >> 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
>> > 
>> > 
>> > 
>> > 
>> > 
>> > 
>> >
>> 
>> 
>> 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
>> 
>> 
>> 
>> 
>> 
>> 
>> SPONSORED LINKS 
>> Investment
>> <http://groups.yahoo.com/gads?
> t=ms&k=Investment+management+software&w1=Inves
>> 
> tment+management+software&w2=Real+estate+investment+software&w3=Inves
> tment+p
>> 
> roperty+software&w4=Software+support&w5=Real+estate+investment+analys
> is+soft
>> ware&w6=Investment+software&c=6&s=200&.sig=_XXUzbE9l5lGlZNcMu4KNQ>
>> management software Real
>> <http://groups.yahoo.com/gads?
> t=ms&k=Real+estate+investment+software&w1=Inve
>> 
> stment+management+software&w2=Real+estate+investment+software&w3=Inve
> stment+
>> 
> property+software&w4=Software+support&w5=Real+estate+investment+analy
> sis+sof
>> 
> tware&w6=Investment+software&c=6&s=200&.sig=5_sgDczz3ArKGMtJ9tFSJA> 
> estate
>> investment software Investment
>> <http://groups.yahoo.com/gads?
> t=ms&k=Investment+property+software&w1=Investm
>> 
> ent+management+software&w2=Real+estate+investment+software&w3=Investm
> ent+pro
>> 
> perty+software&w4=Software+support&w5=Real+estate+investment+analysis
> +softwa
>> re&w6=Investment+software&c=6&s=200&.sig=_N6zcwefgp4eg5n6oX5WZw> 
> property
>> software 
>> Software
>> <http://groups.yahoo.com/gads?
> t=ms&k=Software+support&w1=Investment+manageme
>> 
> nt+software&w2=Real+estate+investment+software&w3=Investment+property
> +softwa
>> 
> re&w4=Software+support&w5=Real+estate+investment+analysis+software&w6
> =Invest
>> ment+software&c=6&s=200&.sig=MJ2jP31F3n64RDZkDadU8w> support Real
>> <http://groups.yahoo.com/gads?
> t=ms&k=Real+estate+investment+analysis+softwar
>> 
> e&w1=Investment+management+software&w2=Real+estate+investment+softwar
> e&w3=In
>> 
> vestment+property+software&w4=Software+support&w5=Real+estate+investm
> ent+ana
>> 
> lysis+software&w6=Investment+software&c=6&s=200&.sig=GmF8PlAJASx0wrSa
> X5-Zlw>
>> estate investment analysis software Investment
>> <http://groups.yahoo.com/gads?
> t=ms&k=Investment+software&w1=Investment+manag
>> 
> ement+software&w2=Real+estate+investment+software&w3=Investment+prope
> rty+sof
>> 
> tware&w4=Software+support&w5=Real+estate+investment+analysis+software
> &w6=Inv
>> estment+software&c=6&s=200&.sig=aMgGsKT4w29dMAYUzQUKzg> software 
> 
>> 
>>   _____  
>> 
>> YAHOO! GROUPS LINKS 
>> 
>> 
>> 
>> * Visit your group "amibroker
>> <http://groups.yahoo.com/group/amibroker> " on the web.
>>   
>> 
>> * To unsubscribe from this group, send an email to:
>>  amibroker-unsubscribe@xxxxxxxxxxxxxxx
>> <mailto:amibroker-unsubscribe@xxxxxxxxxxxxxxx?subject=Unsubscribe> 
>>   
>> 
>> * Your use of Yahoo! Groups is subject to the Yahoo! Terms of 
> Service
>> <http://docs.yahoo.com/info/terms/> . 
>> 
>> 
>>   _____
>>
> 
> 
> 
> 
> 
> 
> 
> 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/