MAM już :)

Hej. Mam taki problem z przesyłaniem danych do Proc umieszczonej w DLL.
Za pomocą call odwołuje się do PROC. w pliku dll

 
        INVOKE BeginPaint, hWnd, addr ps
	mov hdc, eax
        INVOKE GetClientRect, hWnd, addr client
        push client
        push hdc		
	;INVOKE Rysuj_adr ,hdc ,client
	CALL [Rysuj_adr]

Warto powiedzieć, tak mi się wydaje, że biblioteka jest podłączana dynamicznie, i dlatego według mnie INVOKE odpada. (jak się mylę proszę o wskazanie )

HDC jakoś pobiera, ale client, który jest typu RECT już nie, dlaczego tak sadze? Bo gdy wskazuje mu obszar do odświeżenia namalowania nie działa, a gdy wpisze z palca w te miejsca swoje liczby działa.
Chciałbym na środku elipse, więc kod wygląda tak:

Rysuj		PROC	hdc:HDC, client:RECT	

    LOCAL hPen:HPEN ;4
    LOCAL hBrush:HBRUSH ;4 
    LOCAL hOldPen:HPEN ;4
    LOCAL hOldBrush:HBRUSH ;4
    LOCAL center:RECT ;4
        mov eax, client.right
        sub eax, client.left 
        sub eax, SZEROKOSC 
        xor	edx, edx
	mov	ebx, 2
	div ebx ;dzielimy przez 2
        mov center.left, eax ;i przypisujemy nowa wartosc
	add eax, SZEROKOSC ;dodajemy szerokosc to nasz obrazek
        mov center.right, eax

        mov eax, client.bottom
        sub eax, client.top
	sub eax, WYSOKOSC
        xor	edx, edx
	mov	ebx, 2
	div ebx
        mov center.top, eax
	add eax, WYSOKOSC
	mov center.bottom, eax


        RGB 255,234,80
	INVOKE CreatePen, PS_SOLID, 20, eax 
        mov	hPen, eax
    	RGB 109,163,205
        INVOKE CreateSolidBrush, eax
        mov	hBrush, eax   
        INVOKE SelectObject, hdc, hPen
        mov hOldPen, eax
        INVOKE SelectObject, hdc, hBrush
        mov hOldBrush, eax		
		
        INVOKE Ellipse, hdc, center.left, center.top, center.right, center.bottom 
	INVOKE SelectObject, hdc, hOldPen
        INVOKE SelectObject, hdc, hOldBrush

		ret
Rysuj		ENDP

Położenie jak i szerokość i wysokość ustalane przez Windows.