I know, I know. i searched the site and there are millions of "unresolved external" errors questions.

so, heres my question because it's *different*

this question is sorta aimed at NaN as i am following his framework for a custom control...

Now, i know that "unresolved external" means the linker is looking for something like a funtion or variable but it can't find it. i know you have to use "includelib" to stop this.
i know that windows needs to be given an entry point. (though in NaNs MButton tute, there was no real entry point such as "foo: .... end foo")

anyway i tried both ways, even used foo.
so heres a snippet of my code. seems like i always get you guys to solve my problems for me but, ..., well no buts, i always get you guys to solve my problems for me.

sorry to rant, heres those snippets i promised:

in my custom control code

.inc file

...


_DoDotproc PROTO :DWORD,:DWORD,:DWORD,:DWORD

;##########################################################################
; CreateDotClass InstanceHande
;
; This macro entry must be made with the window registration code. Ideally just after the parent
; window has been registered.
;
; NOTE: The fuction using this macro must have the following declared as local variables
; ' LOCAL wc :WNDCLASSEX
;
;##########################################################################

CreateDotClass MACRO hInst:REQ

mov wc.cbSize, sizeof WNDCLASSEX
mov wc.style, CS_HREDRAW or CS_VREDRAW or CS_PARENTDC
mov wc.lpfnWndProc, _DoDotproc
mov wc.cbClsExtra, NULL
mov wc.cbWndExtra, NULL
mov wc.hbrBackground, NULL
mov wc.lpszMenuName, NULL
mov wc.hIcon, NULL
mov wc.hIconSm, NULL
mov eax, hInst
mov wc.hInstance, eax

mov wc.lpszClassName, offset szClassName1
invoke LoadCursor,NULL,IDC_SIZENWSE
mov wc.hCursor, eax

invoke RegisterClassEx, ADDR wc

mov wc.lpszClassName, offset szClassName3
invoke LoadCursor,NULL,IDC_SIZENESW
mov wc.hCursor, eax

invoke RegisterClassEx, ADDR wc

mov wc.lpszClassName, offset szClassName2
invoke LoadCursor,NULL,IDC_SIZENS
mov wc.hCursor, eax

invoke RegisterClassEx, ADDR wc

mov wc.lpszClassName, offset szClassName4
invoke LoadCursor,NULL,IDC_SIZEWE
mov wc.hCursor, eax

invoke RegisterClassEx, ADDR wc

ENDM

...

and .asm file

...

.data?
rEgion HRGN ?
rect RECT <?>

.code

start:

_DoDotProc proc hWin :DWORD,
uMsg :DWORD,
wParam :DWORD,
lParam :DWORD

.if uMsg == WM_CREATE

...

The unresolved external is for __DoDotproc@16, specifically i get the error from the CreateDotClass MACRO, specifically from the line:

mov wc.lpfnWndProc, _DoDotproc

i tried this line using offset.

in my test program i call it like NaN does in his MButton tute.

there you go. any idaes?




WOW! what a long post!

:confused: crunchi
Posted on 2003-02-11 22:24:00 by Crunchi
please guys,... ...i'm crying :stupid:
Posted on 2003-02-12 03:52:45 by Crunchi
Konnichiwa...
Well your function name is _DoDotProc
but you made a call to _DoDotproc
Remember case sensitivity!
Posted on 2003-02-12 04:02:28 by MArtial_Code
how embarrassing :grin:

what nore can i say, thanks.
Posted on 2003-02-12 08:27:41 by Crunchi