Resourcen laden geht nich



  • hallo leutz,
    kämpfe mich grad selbstständig durch assembler hindurch und stolpere dabei natürlich heftig 😃

    ich verwende Masm, und als IDE das WinAsm Studio. wie es sich vermuten lässt bin ich natürlich darauf aus, unter Windows mit assembler zu programmieren.

    Ich wollt etzt einfach mal ein Fenster mit eigenem Icon und eigenem Cursor baun. die Funktionen zum laden von cursor und icon schlagen bei mir allerding fehl. hier ma der codeausschnitt:

    push offset Bild
    		push NULL
    		call LoadIconA
    
    		mov intvar1, eax
    		or eax, eax
    		jnz klappt
    		call GetLastError
    		push eax
    		push offset fmtint
    		push offset Buffer
    		call wsprintf
    		push MB_OK
    		push offset Buffer
    		push offset Fehler
    		push NULL
    		call MessageBoxA
    
    		push IDI_ERROR
    		push NULL
    		call LoadIconA
    		mov dword ptr [wcex.hIcon],eax
    		mov dword ptr [wcex.hIconSm],eax
    		jmp weiter
    	klappt:
    		mov eax, intvar1
    		mov dword ptr [wcex.hIcon],eax
    		mov dword ptr [wcex.hIconSm],eax
    	weiter:
    
    		push offset Zeigername
    		push NULL
    		call LoadCursorA
    		mov intvar1, eax
    		or eax, eax
    		jnz klappt2
    		call GetLastError
    		push eax
    		push offset fmtint
    		push offset Buffer
    		call wsprintf
    		push MB_OK
    		push offset Buffer
    		push offset Fehler
    		push NULL
    		call MessageBoxA
    
    		push IDC_NO
    		push NULL
    		call LoadCursorA
    		mov dword ptr [wcex.hCursor],eax
    		jmp weiter2
            klappt2:  
    		mov eax, intvar1
    		mov dword ptr [wcex.hCursor],eax
    	weiter2:
    		.......
    

    wobei

    Bild db "Birne.ico",0
    		Zeigername db "cursor.cur",0 
    		Fehler db 'Fehler',0
    		Buffer BYTE 256 dup(0)
    		intvar1 dd 0
    		fmtint db '%d',0
    

    ich krieg als fehler den code
    ERROR_RESOURCE_TYPE_NOT_FOUND
    1813 The specified resource type cannot be found in the image file.

    naja - dasselbe in C funktioniert bestens mit den gleichen dateien. hab sie auch durch einen icon bzw cursoreditor gejagt um sicherzustellen dass sie gültig sind. klappt trotzdem nicht.

    Vielleicht geh ich die Sache mit Assembler auch etwas falsch an. sonst würd ich den Fehler erkennen. aber wenn mir irgendjemand helfen kann, wäre ich sehr dankbar^^

    Falls benötigt - ml.exe parameter: /Dmasm /c /Cx /coff
    gelinkt wird mit: /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0



  • Falls "Birne.ico" oder "cursor.cur" der Name einer Datei ist, dann kann es nicht klappen.
    LoadIconA braucht als Parameter den Namen der Resource wie er in der Resourcen-Sektion der EXE steht (oder eine ID).
    Und der ist i.d.R. != Dateiname.


Anmelden zum Antworten