wisen >> Efter jeg har inkluderet conio.h, så holdt den op med fejlene om inp og outp, men den brokker sig stadig over delay, og den laver samme fejl, hvis jeg ændre delay til sleep...
Istedet for delay() (Borland funktion tror jeg nok) eller Sleep() kunne du bruge buissy waiting. Da det kun er 2 millsek du venter gør det nok ikke noget.
void delay(long wait) { long end = time(NULL) + wait; long now = time(NULL); while(end > now) { now = time(NULL); } }
Jeg mente bare at Sleep() måske ikke var den beste løsning siden du får alle disse linker fejl. Istedet for at bøvle med det kunne du selv skrive en bussy waiting delay.
Jeg har et program der hedder allowio.exe, som jeg bare skal køre med dette program som parameter, så virker det, men jeg kan blot ikke builde det program...
Attempting to reference functions or data that don\'t have external linkage causes LNK2001. In C++, inline functions and const data have internal linkage unless explicitly specified as extern.
Da du jo netop inliner i inline void LCDParallelDriver::SendCmd(BYTE cmd) {...} kunne man foranlediges til at tro, at det var det, der var årsagen.
inp og outp funktionerne er ganske rigtigt \"gamle\" DOS funktioner, dvs. funktioner som kun er tilladte hvis programmet kører som et DOS program/under DOS boks. Grunden til at inp og outp ikke længere er tilladte ligger i selv Windows - det er jo (i alt fald et forsøg på at lave) et flerbruger system, og man kan derfor ikke være sikker på at have f.eks. LPT-porten for sig selv. (Word kunne f.eks. være ved at udskrive via porten.)
Jeg har løst problemet i mit program (bruger LPT-porten til at styre noget elektronik) ved at bruge ASM - i den situation sættes Windows begræsningerne nemlig i noget omfang ud af spil:
int inport(int portAddr) { int portData = 0x00; asm { mov dx,portAddr in al,dx mov portData,al }; return portData; }
og
void outport(int portAddr, int portData) { // Port data adjusted immediately when changed. asm { mov dx, portAddr mov al, portData out dx, al }; return; }
Dropper at lave det i C++... Fatter ikke en rigende disse af det, holder mig til at lave det i Visual Basic, meget muligt at man kan mere i C++, men det er også MEGET mere indviklet...
Ellers tak for et godt forsøg, men det virker altså ikke...
At man opgiver at bruge de indsendte svar, er ens egen sag - men man plejer at give lidt point til dem der har givet bruge tid på at forsøge at hjælpe dig alligevel. Jeg tror at \'jps2mt\' komme til at vente lidt længere på svar næste gang !
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.