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

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



PureBytes Links

Trading Reference Links

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/> . 
> 
> 
>   _____
>






------------------------ 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/