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

Re: [amibroker] Re: Visual C++ 2008 Express simple DLL sample file?



PureBytes Links

Trading Reference Links

Dennis,

You are welcome. I must compliment you that you are really smart if you figured it out so quickly.

As to pressing 'reset all' from C level, you can use the same technique.
Actually you can send the BN_CLICKED notification to parent instead of sending mouse down/up 
messages.


UINT nControlID = 403; // 403 is the ID of reset all button
HWND hResetAllButton = GetDlgItem( hParamWindow, nControlID ); 

::SendMessage( hParamWindow, WM_COMMAND, MAKEWPARAM( nControlID , BN_CLICKED ), (LPARAM) hResetAllButton );


As to modifier keys

if( ::GetAsyncKeyState( VK_ALT ) < 0 ) { ... alt key pressed down }
if( ::GetAsyncKeyState( VK_SHIFT ) < 0 ) { ... shift key pressed down }

http://msdn2.microsoft.com/en-us/library/ms646293.aspx

I can add GetAsyncKeystate to native AFL if there is demand.

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "Dennis Brown" <see3d@xxxxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Monday, April 28, 2008 11:12 PM
Subject: Re: [amibroker] Re: Visual C++ 2008 Express simple DLL sample file?


> Tomasz,
> 
> Thank you.
> 
> Yes, I understood that the window with the scroll bar was a child of  
> the tabs control which was a child of the Parameters Window.  I am not  
> sure why my method did not work, but THANK YOU for the last "hint"   
> which does work -- "hint" was more like handing me the answer on a  
> silver platter ;-)
> 
> My DLL now works fine using your method to directly get the handle of  
> the child control with the scroll bar in it.  Addressing it via the ID  
> is a much easier method.  I saw the ID using the AutoIt Window Info  
> program, but I did not know how to utilize it.  I looked through the  
> MS doc on windows functions but did not see a way to use it.  If you  
> had not provided the "hint" I might never have found that solution,  
> because it was in the Dialog Box section and even named "Get Dialog  
> Item."  Sometimes there is no substitute for experience --especially  
> when the documentation is not intuitively obvious.
> 
> Now I am off and running again, and can clean up the DLL with "safety  
> features" and finish adding this needed feature to my Flexible  
> Parameters AFL.
> 
> I thank you for playing along with me on this challenge.  I learned a  
> lot of useful information in a few short days (about 10 hours of  
> actual work).  I even see how I should be using some different naming  
> conventions based on your last example.
> 
> I hope that others following this thread (which actually started as an  
> offshoot of the thread "Big symbol text in the background") found it  
> entertaining, informative, and inspiring.
> 
> Now I am starting to wonder if I can add some more functions to my DLL  
> that will let me to get rid of AutoIt completely.  I much prefer  
> simple straight forward solutions that do not rely on interactions  
> between too many different vendors products.  I will give this some  
> thought later.  I suppose the only thing I would really need to learn  
> how to do is sending a mouseUp message to the "Reset all" button in  
> the Parameters Window.  Not sure how that can be done, but it must be  
> possible because AutoIt can do it.  Perhaps I can even determine the  
> state of the keyboard modifier keys --but I think you may be providing  
> that in the future for AFL.
> 
> The point is, I do not feel as limited in what I can do with AFL now -- 
> given some hints, learnings, and work.  Some things will require you  
> to add features to AFL to make them easy to use for everyone, but some  
> simple things, I can figure out how to do with a DLL now with just a  
> little help now and then from experienced users.
> 
> Best regards,
> Dennis
> 
> 
> On Apr 28, 2008, at 2:29 AM, Tomasz Janeczko wrote:
> 
>> Dennis,
>>
>> The parameter window does not contain a scrollbar because it is  a  
>> parent
>> of actual parameter list window. Therefore to get a handle of actual
>> window that contains the scrollbar you need to traverse children list
>> of parameter window, or better (easier), get the child control with  
>> appropriate ID.
>> The ID of actual list is 88.
>> So you would need to call
>> HWND hActualList = GetDlgItem( h_ParamWindow, 88 );
>>
>> if( hActualList )
>> {
>> nScrollPos = GetScrollPos( hActualList, SB_VERT );
>>
>> ....
>>
>> SetScrollPos( hActualList, SB_VERT, nPos, TRUE );
>> }
>>
>>
>> Best regards,
>> Tomasz Janeczko
>> amibroker.com
>> ----- Original Message -----
>> From: "Dennis Brown" <see3d@xxxxxxxxxxx>
>> To: <amibroker@xxxxxxxxxxxxxxx>
>> Sent: Monday, April 28, 2008 12:08 AM
>> Subject: Re: [amibroker] Re: Visual C++ 2008 Express simple DLL  
>> sample file?
>>
>>
>>> Tomasz,
>>>
>>> I am reporting back on my success as far as it goes on this  
>>> challenge,
>>> and request another hint.  I have succeeded in learning how to  
>>> write a
>>> C++ DLL function with freely available programs and documentation.
>>> The DLL can get the scroll position of the top child window of the
>>> foreground window and return the result to AFL.  I have also  
>>> written a
>>> function that will set the scroll position to a value specified from
>>> AFL and return the old position as I originally set out to do.  This
>>> should give me the ability to get or set the scroll position on any
>>> AmiBroker program window that is active and has a vertical scroll
>>> bar.  For instance, with this DLL, I can now get and set the scroll
>>> position on the Formula Editor Window just as expected.  However, the
>>> Parameters Window returns an error that it contains no scroll bar  
>>> even
>>> though it is visible on the screen, so I have not succeeded yet in  
>>> the
>>> original challenge.
>>>
>>> Since you wrote the code that created the (I am assuming) child  
>>> window
>>> with the scrollbar in the Parameters Window, I have to ask you the
>>> next question.  Is there a key concept that I am missing regarding  
>>> how
>>> to get the handle to the Parameters Window child control/window with
>>> the scroll bar?
>>>
>>> I have looked everywhere I know to look for the answer, but have come
>>> up blank.  The only possibility I can think of is you wrote this  
>>> child
>>> window in a custom way that does not support the functions I used to
>>> get or set the scroll.  The class string does have a strange looking
>>> name for this window.
>>>
>>> Here is the Function.cpp code segment I wrote that gets the scroll
>>> position (or the error code):
>>>
>>> // GetWindowScroll( )
>>> // This function returns the vertical scroll position
>>> // of the top window of the foreground (active) window
>>> // Returns zero if not successful
>>> // Temp Debug: Returns the error code if not successful
>>>
>>> AmiVar VGetWindowScroll( int NumArgs, AmiVar *ArgsTable )
>>> {
>>>    AmiVar OldScroll;
>>> OldScroll.type = VAR_FLOAT;
>>>
>>> HWND foreWindow = GetForegroundWindow();
>>> HWND topWindow = GetTopWindow(foreWindow);
>>>
>>> int OVWScroll = GetScrollPos( topWindow, SB_VERT );
>>> OldScroll.val = OVWScroll;
>>> if(OVWScroll==0){DWORD dw = GetLastError(); OldScroll.val = dw;} ;//
>>> Debug code
>>>
>>>    return OldScroll;
>>> }
>>>
>>> If there is something that you do not want to reveal publicly on the
>>> forum, please PM me.  Otherwise, please another hint.
>>>
>>> Best regards,
>>> Dennis
>>>
>>> On Apr 27, 2008, at 1:24 PM, Dennis Brown wrote:
>>>> Dan,
>>>>
>>>> LOL --the blind leading the blind.  I wanted to relate my  
>>>> experiences
>>>> in attempting this "Impossible for my level of experience and tools"
>>>> solution to my problem to encourage others that it can be done.  I
>>>> also knew I would need a little help from a knowledgeable person  
>>>> like
>>>> TJ to point me in the right direction.   After all, it would be
>>>> foolish to attempt to do something if there was no reasonable  
>>>> solution
>>>> at all, and he would know.  I searched on the internet to fill in  
>>>> more
>>>> details.  We don't always have to have the solutions handed to us  
>>>> on a
>>>> silver platter --as nice as that is.  I also did not believe that I
>>>> should have to spend a long time with books, manuals, or buy tools
>>>> just to make a 10 line program that I needed now.  Besides I learn
>>>> better by discovering things than reading about them in books.  The
>>>> little light bulbs go on quite often when I have to work for the
>>>> understanding.
>>>>
>>>> Since I don't know C++ , every line I write has errors.  I just try
>>>> different possibilities and recompile until I hit on a syntax that
>>>> works.  It usually takes 3-5 attempts to get each line to work,  
>>>> then I
>>>> go to the next line.  If I don't get the result I expect, I try
>>>> different experiments, and by the process of elimination I learn  
>>>> what
>>>> is going on.  If I get really stuck, I will ask for help again.
>>>> Trial and error engineering!
>>>>
>>>> I still don't have the solution I want working.  I wrote the DLL  
>>>> as I
>>>> had envisioned it, and it does work as far as I can tell.   
>>>> However, I
>>>> believe I am missing a key concept about which window in the
>>>> "Parameters Window" contains the scroll bar since I get an error
>>>> message that the foreground window has no scroll bars.  I am now
>>>> guessing that the tabbed window structure is such that there is a
>>>> child window overlaid on the main Parameters window that has the
>>>> scroll bar.  Now I have to figure out how to get its handle.  Notice
>>>> all those Windows type concepts I am throwing around after only a  
>>>> day
>>>> of poking at the problem --LOL.
>>>>
>>>> During some of my internet searches, I did come across some  
>>>> references
>>>> to VB that would lead me to think that I might be able to solve this
>>>> problem with it also.  However, I know no more about VB than I do
>>>> about C++, so I might as well do it at the lowest level for the  
>>>> simple
>>>> problem that it is.  At least C++ and AFL look enough alike that I  
>>>> can
>>>> guess at the syntax of C++.
>>>>
>>>> Getting frustrated and giving up is something I got over many  
>>>> decades
>>>> ago after realizing that the only way to fail is to give up, and the
>>>> way to succeed is to never give up.  Once you determine that you  
>>>> will
>>>> succeed no matter what it takes, the setbacks are just part of
>>>> learning about the solution.  It does irk me though when I am given
>>>> wrong information that takes me far in the wrong direction and  
>>>> wastes
>>>> a lot of time.
>>>>
>>>> As far as the typo in the example goes, I don't think TJ needs to  
>>>> say
>>>> anything about it on the board.  If nobody noticed it for 7 years,  
>>>> it
>>>> is not critical to get fixed on a moments notice.  I would not have
>>>> mentioned it publicly except that it made a good story.
>>>>
>>>> Best regards,
>>>> Dennis
>>>>
>>>> On Apr 27, 2008, at 9:30 AM, ab319320 wrote:
>>>>> Dennis good work.  There are two possibilities for the error in the
>>>>> example.  I have to wonder if Tomasz even picked up on the error  
>>>>> you
>>>>> mentioned as he was caught up in compiler talk and did not thank  
>>>>> you
>>>>> and say that the error would be fixed.  That aside Tomasz has  
>>>>> done a
>>>>> terrific job on MY AMI.
>>>>>
>>>>> But, errors in examples as in a 21 day vc++ book frustrated me to  
>>>>> the
>>>>> point that my vc++6.0 pro ed just sets on the shelf.  We all have
>>>>> different levels of tolerance and Dennis yours excels.
>>>>>
>>>>> I discovered MS's Express series just a month ago and typed my 1981
>>>>> basic program into vbasic 2008 express.  I had over a hundred error
>>>>> msgs but it was easy to work through.  I think the vb is easier  
>>>>> than
>>>>> the vc express because of the error window (which is more like
>>>>> vc6.0).  MS has provided a powerful on-line help enter-face.  Vb
>>>>> express, I think, allows creation of a dll.
>>>>>
>>>>> Dennis I hope that you will post a "How To dll"  in the Files  
>>>>> section
>>>>> which is user friendly.  It appears you may have that ability.
>>>>> Sometimes experienced people write over the heads of less
>>>>> experienced.
>>>>> Dan
>>>>> --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@xxx>
>>>>> wrote:
>>>>>>
>>>>>> Dennis,
>>>>>>
>>>>>> OK, OK, my bad. You see my previous comment was not intended to be
>>>>> taken so seriously.
>>>>>> I have very different perspective than you and others on the list
>>>>>> since C++ compiler is my everyday bread and butter so I have very
>>>>> different expectations and very different opinion than majority.
>>>>>> If I wrote so on some "hard core C geek" forum, I would be
>>>>> understood better.
>>>>>>
>>>>>> Apparently 2008 "express" version is less restrictive
>>>>>> compared to previous 2005. I am not using 2008. Three years ago I
>>>>> bought Professional Edition 2005 to find that I use
>>>>>> it only for 64 bit compilations because it is slow for everyday
>>>>> work, crashes a lot and code produced is not compatible with 9x
>>>>> windows.
>>>>>> I use good old version 6 (from 1997 afair) because it is fast and
>>>>> compatible with all Windows versions. That old version 6.0 is
>>>>>> something that Microsoft has done very well (but there was no free
>>>>> editions at that time).
>>>>>>
>>>>>> Best regards,
>>>>>> Tomasz Janeczko
>>>>>> amibroker.com
>>>>>> ----- Original Message -----
>>>>>> From: Dennis Brown
>>>>>> To: amibroker@xxxxxxxxxxxxxxx
>>>>>> Sent: Saturday, April 26, 2008 7:20 PM
>>>>>> Subject: Re: [amibroker] Visual C++ 2008 Express simple DLL
>>>>> sample file?
>>>>>>
>>>>>>
>>>>>> Tomasz,
>>>>>>
>>>>>>
>>>>>> While, being a Mac guy, I am quick to vilify Microsoft.  However,
>>>>> in this case you are being too harsh on them.  They seem to have
>>>>> improved their free version for 2008 and with some more
>>>>> experimentation, I was able to get the free version to compile the
>>>>> ADK Sample project and produce the sample.dll.  Then I modified the
>>>>> functions.cpp slightly and made another sample.dll that functioned
>>>>> properly with AFL calls.
>>>>>> Here is what I did to make it work:
>>>>>>
>>>>>>
>>>>>> 1.   I reinstalled the ADK from scratch to get rid of my previous
>>>>> experiments.
>>>>>> 2.   I double clicked the Sample.dsp file which launched Visual
>>>>> C++ 2008 Express Edition
>>>>>> 3.   A dialog box came up requesting to convert the project
>>>>> format to an updated version --I clicked Yes.  This was the key  
>>>>> step.
>>>>>> 4.   I did a "Build Solution" from the Build menu.
>>>>>> 5.   The Sample.dll was generated error free and placed in
>>>>> the "Debug" folder.
>>>>>> 6.   I moved the Sample.dll into the Plugins folder and started
>>>>> up AmiBroker.  I added a plot calling ExampleEMA.  Success.
>>>>>>
>>>>>>
>>>>>> There is a humorous side to this story also...
>>>>>>
>>>>>>
>>>>>> I modified the ExampleEMA just to make sure that it was my
>>>>> changes that I was seeing and not something else, since the
>>>>> ExampleEMA was a prebuilt function.  I called it myExampleEMA,  
>>>>> and I
>>>>> changed the function to return a constant.  It worked half way????
>>>>> The name changed, but it returned the exact same moving average
>>>>> result as before.
>>>>>>
>>>>>>
>>>>>> I tried all kinds of changes to that function which seemed to
>>>>> have no effect.  I finally commented practically everything out in
>>>>> the function and it still returned a beautiful moving average.  My
>>>>> mind was going in circles tying to figure out how my changes  
>>>>> could be
>>>>> ignored.  It truly seemed impossible.  It is funny that when you
>>>>> don't know what you are doing and in a new situation, the mind is
>>>>> open to the wildest speculations to explain what is happening.
>>>>>>
>>>>>>
>>>>>> Eventually, I commented out the other two functions: exampleMACD
>>>>> and ExampleMA.  Finally I got a compile error message.  It turns  
>>>>> out
>>>>> that there is a typo in the function table.  Both ExampleEMA and
>>>>> ExampleMA point to VExampleMA code.  Since the file was last  
>>>>> modified
>>>>> in 2001, it must have been there for 7 years and nobody noticed  
>>>>> until
>>>>> now --or at least did not bother tell AmiBroker about it.   It was
>>>>> lurking for all those years just waiting for a novice like me to  
>>>>> get
>>>>> tricked into thinking the laws of programming physics were suddenly
>>>>> altered.  LOL
>>>>>>
>>>>>>
>>>>>> Now I will proceed to try and make my real dll work.
>>>>>>
>>>>>>
>>>>>> Best regards,
>>>>>> Dennis
>>>>>>
>>>>>>
>>>>>> On Apr 26, 2008, at 10:22 AM, Tomasz Janeczko wrote:
>>>>>>
>>>>>>  See also the video:
>>>>>>  http://www.amibroker.com/video/devcpp.html
>>>>>>
>>>>>>  Best regards,
>>>>>>  Tomasz Janeczko
>>>>>>  amibroker.com
>>>>>>    ----- Original Message -----
>>>>>>    From: Tomasz Janeczko
>>>>>>    To: amibroker@xxxxxxxxxxxxxxx
>>>>>>    Sent: Saturday, April 26, 2008 4:19 PM
>>>>>>    Subject: Re: [amibroker] Visual C++ 2008 Express simple DLL
>>>>> sample file?
>>>>>>
>>>>>>
>>>>>>    Hello,
>>>>>>
>>>>>>    Visual C++ 2008 EXPRESS edition (FREE) is severely limited
>>>>> and does NOT support creating of DLLs at all.
>>>>>>    That's why you get error when compiling it with Express
>>>>> edition.
>>>>>>    Microsoft never gives useful things for free. Express
>>>>> editions are toys only.
>>>>>>
>>>>>>    To create DLLs you need either Standard or Professional
>>>>> edition, or free Borland compiler or free GCC( GNU CC)/MinGW
>>>>>>    http://www.bloodshed.net/devcpp.html
>>>>>>    Sample project files for free Dec-C++ are included in the ADK.
>>>>>>
>>>>>>    Best regards,
>>>>>>    Tomasz Janeczko
>>>>>>    amibroker.com
>>>>>>      ----- Original Message -----
>>>>>>      From: Dennis Brown
>>>>>>      To: amibroker@xxxxxxxxxxxxxxx
>>>>>>      Sent: Saturday, April 26, 2008 2:18 PM
>>>>>>      Subject: Re: [amibroker] Visual C++ 2008 Express simple DLL
>>>>> sample file?
>>>>>>
>>>>>>
>>>>>>      Paul, That is exactly what my plan was and what I was
>>>>> attempting to do.  However, the example in the ADK would not  
>>>>> compile
>>>>> error free with Visual C++ 2008 Express as I explained.  Perhaps it
>>>>> would with the full version, but I explained that issue in my last
>>>>> post to Mike.
>>>>>>
>>>>>>
>>>>>>      BR,
>>>>>>      Dennis
>>>>>>
>>>>>>
>>>>>>      On Apr 26, 2008, at 2:13 AM, Paul Ho wrote:
>>>>>>
>>>>>>        You should start off by compiling the examples contained
>>>>> in the ADK. and increment things slowly so you know what could
>>>>> possibly cause the problem
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --------------------------------------------------------------------
>>>>>>          From: amibroker@xxxxxxxxxxxxxxx
>>>>> [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Dennis Brown
>>>>>>          Sent: Saturday, 26 April 2008 1:44 PM
>>>>>>          To: amibroker@xxxxxxxxxxxxxxx
>>>>>>          Subject: [amibroker] Visual C++ 2008 Express simple DLL
>>>>> sample file?
>>>>>>
>>>>>>
>>>>>>          Hello,
>>>>>>
>>>>>>          I took the challenge from Tomasz that anyone who is
>>>>> willing to learn,
>>>>>>          can extend AFL to do anything. My chosen task is to
>>>>> restore the
>>>>>>          scroll position of the Parameters Window after a "Reset
>>>>> all" button
>>>>>>          click --and yes, it has an important use.
>>>>>>
>>>>>>          Tomasz informed me that I would need to write a DLL to
>>>>> make this
>>>>>>          possible. There may be other ways, but I will try it
>>>>> this way.
>>>>>>
>>>>>>          First I have to say that I do not know C++ (other than
>>>>> AFL has a
>>>>>>          similar syntax). Next I am not very familiar with
>>>>> anything Windows (I
>>>>>>          am a Mac guy). So if I can do this (with a little help
>>>>> from my AB
>>>>>>          friends) Tomasz will be vindicated in his statements.
>>>>>>
>>>>>>          I determined that all I need is to make an extremely
>>>>> simple DLL. It
>>>>>>          will create the following new AFL function:
>>>>>>
>>>>>>          oldScrollPosition = GetSetWindowScroll
>>>>> (newScrollPosition);
>>>>>>
>>>>>>          It will simply return the current scroll position of
>>>>> the active
>>>>>>          foreground window and then set the scroll position to
>>>>> the supplied
>>>>>>          parameter. It should only be about 10 lines of C++ code.
>>>>>>
>>>>>>          I have found the Windows calls that will get the handle
>>>>> of the
>>>>>>          foreground window, and (with a pointer from Tomasz)
>>>>> calls to get and
>>>>>>          set the scroll thumb position on a standard window.
>>>>>>
>>>>>>          Everything else I need to do I can handle with AutoIt
>>>>> or AFL.
>>>>>>
>>>>>>          I have installed the free ADK and installed the free
>>>>> Visual C++ 2008
>>>>>>          Express program, and started to try to write this.
>>>>>>
>>>>>>          Initially I tried just Building the Sample DLL in the
>>>>> ADK. That
>>>>>>          mostly works, but gives me errors on the Plugin.cpp:
>>>>>>
>>>>>>          error C2491: on 5 critical lines for : Definition of
>>>>> dllimport
>>>>>>          function not allowed
>>>>>>          these are the PLUGINAPI statements for Release, Init,
>>>>>>          GetFunnctionTable, SetSiteInterface, and GetPluginInfo.
>>>>>>
>>>>>>          Somehow, I think I really need these lines to compile
>>>>> for any AB DLL
>>>>>>          to work...
>>>>>>
>>>>>>          I have tried a bunch of things, and I can make it give
>>>>> me more errors,
>>>>>>          but unfortunately no less errors. So I think I need
>>>>> some hints or
>>>>>>          more help to get started.
>>>>>>
>>>>>>          I was wondering if anyone has an answer, or a simple
>>>>> DLL sample
>>>>>>          project file that builds error free on Visual C++ 2008
>>>>> Express that
>>>>>>          you could email me to get me started on the right track
>>>>> with this?
>>>>>>
>>>>>>          Thanks,
>>>>>>          Dennis
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------
>>>>>
>>>>> 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
>>>
>>>
>>>
>>
>> ------------------------------------
>>
>> 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

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