problem mit dlls bei tasm



  • hallo..

    hab mich mal wieder entschlossen bei asm weiterzuüben..
    es geht um win32 asm code..

    und zwar habe ich den tasm 5.0

    hier der code erst, die frage kommt am schluss:

    .386
    .model flat

    include windows.inc

    extrn ExitProcess : near
    extrn MessageBoxA : near

    .data

    VAR dw 0
    Meldung db "ich bring dich um !",0
    Titel db "Crashed...",0

    .code

    MainProc:

    push MB_ICONHAND or MB_OK
    push offset Titel
    push offset Meldung
    push 0
    call MessageBoxA

    push 0
    call ExitProcess

    end MainProc

    Frage:
    ich compiliere das mit "tasm32 win32.asm"
    danach linke ich es mit "tlink32 win32.obj c:\..\tasm50\lib\import32.lib"

    es kommen keine errors..
    wenn ich win32.exe ausführe kommt eine fehlermeldung:
    "Der prozedureinsprungspunkt "EXITPROCESS" wurde in der dll "kernel32.dll"
    nicht gefunden."

    was mach ich falsch ??
    liegts am code oder am linken ?

    mfg
    haMMer



  • Da fehlen ein paar Switches, sowohl beim Kompilieren als auch beim Linken. Versuche es mal so:

    tasm32 /ml win32.asm
    tlink32 /c /aa /Tpe win32.obj,,,C:\..\tasm50\lib\import32.lib



  • tatsächlich...

    jetz gehts.. thx

    mfg



  • hab nochmal nen problem.

    ich möchte Funktionen aus der wininet.lib in tasm verwenden..
    jetzt hab ich mir überlegt, die wininet.lib aus meinem c++ verzeichnis zu verwenden.. nur es geht nicht.

    tlink32 -c -aa -Tpe farworm.obj c:\..\lib\import32.lib c:\..\lib\wininet.lib

    die import32.lib reicht jedenfals nicht aus..

    wie muss ich vorgehen ?

    mfg
    haMMer



  • Es gibt im BIN Verzeichnis von TASM die implib.exe. Damit kannst du aus DLLs Dateien LIBs erstellen. Achte darauf, dass du den Switch für case sensitive angibst.


Anmelden zum Antworten