TJ discourages early binding.

I'd help you more but I know squat about snake languages.

d

On Thu, May 28, 2009 at 3:55 PM, pwa72x <[email protected]> wrote:

>
> > You've done a search of the forum archives for Python, right?
>
>
> Yes, unfortunately there doesn't seem to be anything about this. I've got a
> couple of other ideas to try:
>
> * Early binding of Python.
> * Passing a variant from Python to other non-Amibroker COM object.
> * Passing a variant to one of the variable parameter methods in Amibroker.
>
> Thanks,
> Peter.
>
>
> --- In [email protected], dingo <waledi...@...> wrote:
> >
> > You've done a search of the forum archives for Python, right?
> >
> > d
> >
>  > On Wed, May 27, 2009 at 2:26 AM, pwa72x <peter.aberl...@...> wrote:
> >
> > > Hi,
> > >
> > > I can see now that the parameter types are different. The Markets item
> > > method takes an integer and the Stocks method takes a variant.
> > >
> > > According to the win32com docs,
> > > http://oreilly.com/catalog/pythonwin32/chapter/ch12.html#24074,
> PythonWin
> > > will map python types to a variant automagically, so it should just
> work.
> > > Perhaps this is an issue with late binding, and that I should force it
> to
> > > use early binding?
> > >
> > > Any ideas anyone?
> > >
> > > Thanks
> > > Peter.
> > >
> > > --- In [email protected], "pwa72x" <peter.aberline@> wrote:
> > > >
> > > > Hi,
> > > >
> > > > I'm using Python and the PyWin32 extensions to allow COM iterop with
> AB.
> > > >
> > > > I'm trying to call the Item method on a Stocks object, but I'm
> getting
> > > the error below.
> > > > Confusingly, doing the same thing on the Markets object works fine.
> Can
> > > anyone suggest what is happening here?
> > > >
> > > > Thanks
> > > > Peter
> > > >
> > > > ################################################
> > > > import win32com.client
> > > >
> > > > def doWork():
> > > >       ab = win32com.client.Dispatch("Broker.Application")
> > > >
> > > >       bLoadLSE =
> > > ab.LoadDatabase("E:\data\AmiBroker\Amibroker_databases\LSE");
> > > >       if bLoadLSE == False:
> > > >               print "Could not load the LSE database"
> > > >               return
> > > >
> > > >       nNumMarkets = ab.Markets.Count
> > > >       print "\nNumMarkets is %d " % nNumMarkets
> > > >       for nMarketIdx in range(nNumMarkets):
> > > >               currMarket = ab.Markets.Item(nMarketIdx)
> > > >               print currMarket.Name
> > > >
> > > >       nNumStocks = ab.Stocks.Count;
> > > >       print "\nNumStocks is %d " % nNumStocks
> > > >       for nStockIdx in range(nNumStocks):
> > > >               print "StockIdx is %d" % nStockIdx
> > > >               currStock = ab.Stocks.Item(nStockIdx) # <---- fails
> here
> > > >               print currStock.Ticker
> > > >
> > > > if __name__ == "__main__":
> > > >       doWork()
> > > >
> > > > ################################################
> > > >
> > > > Output:
> > > > E:\data\python>python posting.py
> > > >
> > > > NumStocks is 714
> > > > StockIdx is 0
> > > > Traceback (most recent call last):
> > > >   File "posting.py", line 25, in <module>
> > > >     doWork()
> > > >   File "posting.py", line 21, in doWork
> > > >     currStock = ab.Stocks.Item(nStockIdx) # <---- fails here
> > > > TypeError: 'NoneType' object is not callable
> > > >
> > >
> > >
> > >
> > >
> > > ------------------------------------
> > >
> > > **** IMPORTANT PLEASE READ ****
> > > This group is for the discussion between users only.
> > > This is *NOT* technical support channel.
> > >
> > > TO GET TECHNICAL SUPPORT send an e-mail directly to
> > > SUPPORT {at} amibroker.com
> > >
> > > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
> > > http://www.amibroker.com/feedback/
> > > (submissions sent via other channels won't be considered)
> > >
> > > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> > > http://www.amibroker.com/devlog/
> > >
> > > Yahoo! Groups Links
> > >
> > >
> > >
> > >
> >
>
>
>
>
> ------------------------------------
>
> **** IMPORTANT PLEASE READ ****
> This group is for the discussion between users only.
> This is *NOT* technical support channel.
>
> TO GET TECHNICAL SUPPORT send an e-mail directly to
> SUPPORT {at} amibroker.com
>
> TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
> http://www.amibroker.com/feedback/
> (submissions sent via other channels won't be considered)
>
> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> http://www.amibroker.com/devlog/
>
> Yahoo! Groups Links
>
>
>
>

Reply via email to