Hi there. 1st post (cold sweat!).

SOCKET.ASM:
Include C:\Masm32\Include\WSock32.Inc
IncludeLib C:\Masm32\Lib\WSock32.Lib
;########################################
;Local Prototypes
;########################################
scktCreate Proto :DWord, :Word
scktReceive Proto
scktDestroy Proto

WINDOW.ASM:
Include Windows.Inc
Include User32.Inc
Include Kernel32.Inc
IncludeLib User32.Lib
IncludeLib Kernel32.Lib
... (some code)...
Invoke scktCreate, hWnd, 23
...(even more code)...

The project references both modules (SOCKET.ASM and WINDOW.ASM).

When I hit RadASM's "Go All" (compile, link, execute) button, It spits back:
Assembling: Window.asm
Window.asm(97) : error A2006: undefined symbol : scktCreate


But per all documentation I read, the PROTO directive *should* make the functions (I mean in SOCKET.ASM) *public*, this is, callable from anywhere in my project. What am I doing wrong???

I even tried several combinations of PUBLIC, EXTERN, EXTERNDEF to no avail... But again, I might be misspelling the syntax.

I (think) I know what I wanna do, but I don't know HOW to do it...

Thanks in advance,

Marcelo.
Posted on 2004-06-01 06:59:00 by Marcelo
From what i can see WINDOW.ASM is your main file and SOCKET.ASM is a secondary file. Well, are you shure that you are including the file 'SOCKET.ASM' in 'WINDOW.ASM' ? otherwise the other module will never be included. Wich also means that none of the PROTOTYPES or anything else in that file will be usable from within WINDOW.ASM.



..
include SOCKET.ASM
..
Posted on 2004-06-01 07:14:29 by mojoo
Well... To be really honest, I was NOT.

Actually I thought the Editor and/or the Assembler *would* know what I meant by adding SOCKET.ASM to the project.

Now the error changed (and even prolified! :rolleyes: ), but this time I think I can handle them.

Thanks-A-Lot! :alright:
Posted on 2004-06-01 07:46:12 by Marcelo