News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

New to HLA - Need some help

Started by Lighto, November 08, 2008, 08:19:06 PM

Previous topic - Next topic

Lighto

Ive used VB and Perl (and a bit of MASM, Although i can do anything with Perl, VB) for years and now im learning HLA with AoA documentation.

Overall i find HLA to be very very good great thanks for Hyde for this great assembler! (Not to mention AoA documentation).

I need help with the following :
1. I would like to be able to access my *ActiveX DLLs* (Made with Perl) inside HLA is that possible? (With VB i just add the DLL to project, create it and then call it like  mystr = MyDLL.Funtion(param1, param2)).
2. Im trying to figure out how HIDE IDE does syntax highlight but it is confusing... Can somebody provide help/example for how to do syntax highlighting in a RichBox (Or direct me to the correct locations in HIDE source to learn from)

Also can somebody tell me how to do this in HLA?
      MOV EDX, lParam
      .If [EDX].NMHDR.code == TCN_SELCHANGE

I keep getting an error....when i try
      mov(lParam, eax);
      mov([eax].NMHDR.code, eax);
      if (eax = w.TCN_SELCHANGE) then
and // if ([edx].NMHDR.code = w.TCN_SELCHANGE) then

And can somebody tell me why the hell w.InitCommonControls(); always fails on newest version of HLA.

Thanks,
Lighto

Sevag.K

Hi

Quote from: Lighto on November 08, 2008, 08:19:06 PM
Ive used VB and Perl (and a bit of MASM, Although i can do anything with Perl, VB) for years and now im learning HLA with AoA documentation.

Overall i find HLA to be very very good great thanks for Hyde for this great assembler! (Not to mention AoA documentation).

I need help with the following :
1. I would like to be able to access my *ActiveX DLLs* (Made with Perl) inside HLA is that possible? (With VB i just add the DLL to project, create it and then call it like  mystr = MyDLL.Funtion(param1, param2)).

I suspect it would be like any other DLL, though I could be wrong.
Accessing DLLs involves declaring the procedures and linking with the library that comes with the DLL.  If there is no library, you'll have to load the DLL manually.  See the DemoDLL project that came with HIDE for a demo of how to work with a DLL/library combo.


Quote
2. Im trying to figure out how HIDE IDE does syntax highlight but it is confusing... Can somebody provide help/example for how to do syntax highlighting in a RichBox (Or direct me to the correct locations in HIDE source to learn from)

Go to Options -> Colors and Keywords

On the 'Colors' column, you can define foreground/background, line hilighted colors, etc.
On the 'Group' column, you can set up groups of keywords to be hilighted.  To add words to a group, select the group, type in a keyword, the "Add" button is activated.  Select bold/italic/rc if desired and click on ADD.
These only work with hla source files.  (hla, hhf, rc)  There is no keyword hilighting in txt or other files.


Quote
Also can somebody tell me how to do this in HLA?
      MOV EDX, lParam
      .If [EDX].NMHDR.code == TCN_SELCHANGE

I keep getting an error....when i try
      mov(lParam, eax);
      mov([eax].NMHDR.code, eax);
      if (eax = w.TCN_SELCHANGE) then
and // if ([edx].NMHDR.code = w.TCN_SELCHANGE) then

You're not typecasting with the proper HLA syntax.

mov( lParam, edx );
if( ( type w.NMHDR [edx]).code = w.TCN_SELCHANGE ) then
...
endif;


Quote
And can somebody tell me why the hell w.InitCommonControls(); always fails on newest version of HLA.

Thanks,
Lighto

Works fine here.  Are you linking in the proper library?  InitCommonControls() requires linking in comctl32.lib
If you're using HIDE, you'll have to go into Project -> Manager, select the Job, click "Add Library" under "Linked Objects" and type in or browse to comctl32.lib (it's in the HIDE\hlalib folder).


Lighto

Quote from: Sevag.K on November 09, 2008, 06:53:26 AM
Hi

Quote from: Lighto on November 08, 2008, 08:19:06 PM
Ive used VB and Perl (and a bit of MASM, Although i can do anything with Perl, VB) for years and now im learning HLA with AoA documentation.

Overall i find HLA to be very very good great thanks for Hyde for this great assembler! (Not to mention AoA documentation).

I need help with the following :
1. I would like to be able to access my *ActiveX DLLs* (Made with Perl) inside HLA is that possible? (With VB i just add the DLL to project, create it and then call it like  mystr = MyDLL.Funtion(param1, param2)).

I suspect it would be like any other DLL, though I could be wrong.
Accessing DLLs involves declaring the procedures and linking with the library that comes with the DLL.  If there is no library, you'll have to load the DLL manually.  See the DemoDLL project that came with HIDE for a demo of how to work with a DLL/library combo.


Quote
2. Im trying to figure out how HIDE IDE does syntax highlight but it is confusing... Can somebody provide help/example for how to do syntax highlighting in a RichBox (Or direct me to the correct locations in HIDE source to learn from)

Go to Options -> Colors and Keywords

On the 'Colors' column, you can define foreground/background, line hilighted colors, etc.
On the 'Group' column, you can set up groups of keywords to be hilighted.  To add words to a group, select the group, type in a keyword, the "Add" button is activated.  Select bold/italic/rc if desired and click on ADD.
These only work with hla source files.  (hla, hhf, rc)  There is no keyword hilighting in txt or other files.


Quote
Also can somebody tell me how to do this in HLA?
      MOV EDX, lParam
      .If [EDX].NMHDR.code == TCN_SELCHANGE

I keep getting an error....when i try
      mov(lParam, eax);
      mov([eax].NMHDR.code, eax);
      if (eax = w.TCN_SELCHANGE) then
and // if ([edx].NMHDR.code = w.TCN_SELCHANGE) then

You're not typecasting with the proper HLA syntax.

mov( lParam, edx );
if( ( type w.NMHDR [edx]).code = w.TCN_SELCHANGE ) then
...
endif;


Quote
And can somebody tell me why the hell w.InitCommonControls(); always fails on newest version of HLA.

Thanks,
Lighto

Works fine here.  Are you linking in the proper library?  InitCommonControls() requires linking in comctl32.lib
If you're using HIDE, you'll have to go into Project -> Manager, select the Job, click "Add Library" under "Linked Objects" and type in or browse to comctl32.lib (it's in the HIDE\hlalib folder).



Ah, didnt know you needed to link the lib.... all other APIs i used just work.... (Probably because them libs were already attached)