-
Jo, ich habs..
aber das mit dem assembler hat nicht gefuntzt... hab genau wie du gesagt hat, den asm teil komplett unter die deklaration von Form1 geschrieben...
jetzt hab ichs endlich mit der inpotu32.dll gescafft, so wie ich es wollte.
vllt lieghts an den einstellungen vom builder, das das mit dem asm nicht klappt¿¿
bin zumindest jetzt erst mal happy, das ich es geschafft hab..
danke nochmal für den link
-
Also ich poste es mal für alle anderen :)
Meine Header:
Code:
#include <stdio.h>
#include <windows.h>
#include <time.h>
//-------------------------------------------------------------------------
typedef short _stdcall (*inpfuncPtr)(short portaddr);
typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);
void lib_laden();
void Out(int port, int wert);
void lib_schliessen();
HINSTANCE hLib;
inpfuncPtr inp32;
oupfuncPtr oup32;
short x;
int i = 0x378;
//-------------------------------------------------------------------------
void lib_laden ()
{
hLib = LoadLibrary("inpout32.dll");
inp32 = (inpfuncPtr) GetProcAddress(hLib, "Inp32");
oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");
if (hLib == NULL || inp32 == NULL || oup32 == NULL) {/*** ERROR ***/}
}
void Out(int port, int wert)
{
oup32(port, wert);
}
void lib_schliessen()
{
FreeLibrary(hLib);
}
man kann dan mit
Out(portaddresse, wert) an dem bestimmten port ausgeben.
Aber Ganz wichtig: Man muss vorher einmal
lib_laden(void);
ausführen... ich mach das bei Form load vom ersten formular :)