2 Klassen miteinander verbinden

Okay das hab ich gemacht.
Beim Compilieren kommen auch keine Fehlermeldungen.
Sehr gut.
Die Console öffnet sich dann und es kommt diese Meldung:
Process returned 0 <0x0> execution time : 0.000 s
Press any key to continue.
Sehr gut.
Und wenn ich dann irgandwas drücke geht die Console wieder zu.
Was genau soll diese Meldung?
Das heißt, das das Programm ohne Fehler durchlief und den Wert "0" (wie 0 Fehler) zurückgegeben hat. Und das das alles sehr schnell passiert ist.

Gruß
 
Das hört sich schon mal gut an.

Aber was ist wenn ich die Werte Mprtx, Mprty und Mprtz wärend das Programm läuft ändern will?
Die werden ja ganz am Anfang auf null gesetzt.

Hab gedacht das Programm frägt mich in der Console was für Werte ich haben will aber es läuft nur durch.

Da fehlt noch irgendwie der Eingabe Befehl.

Weißt du wie man das machen kann?


Gruß Steffen
 
Zuletzt bearbeitet:
Hi.

Ich habe es gerade selbst mal probiert und erhalte beim Binden Fehlermeldungen:
Code:
obj\Release\main.obj(main) 
 Error 42: Symbol Undefined _int86
obj\Release\main.obj(main) 
 Error 42: Symbol Undefined _delay
Am besten du schaltest die "require strict function prototyping" Option an. Dann erhälst du die Fehler bereits beim Kompilieren:
Code:
    delay(14);
         ^
main.c(79) : Error: function 'delay' has no prototype
      int86(0x16, &Register, &Register);
           ^
main.c(620) : Error: function 'int86' has no prototype
  printf("SMC800 / SMC1500   -   Plotter-Demo\n");
        ^
main.c(1173) : Error: function 'printf' has no prototype
Du mußt also stdio.h noch einbinden und da es ein DOS Programm ist auch für DOS kompilieren (füge die Option -mx zu den Compileroptionen in den Projekteinstellungen unter "Other options" hinzu.

Dann bleibt nur noch der Fehler übrig:
Code:
main.c(80) : Error: function 'delay' has no prototype
Diese Funktion ist keine Standardfunktion. Du müßtest sie ersetzen (oder auskommentieren, dann gibt es halt keine Verzögerung).

Ob das Programm dann allerdings unter Windows läuft ist eine andere Frage...

Gruß
 
Ohjee...

Ich bin noch ein richtiger Anfänger im Code Blocks und deswegen kapier ich nicht all so viel grad.
Kannst du mir genauer Erklären was ich ändern muss und wo ich es ändern soll?
z.B. Wo sind die Projekteinstellung?

Und mit stdio.h einbinden meinst: include "stdio.h"?


Gruß Steffen
 
Zuletzt bearbeitet:
Hi.

Ja, #include <stdio.h>

Du benötigst auch noch den DOS Extender (siehe Digital Mars Seite).

Allerdings wird die ganze Mühe sich vermutlich nicht lohnen:
Code:
INTERRUPT 0DH, GENERAL PROTECTION FAULT      possible illegal address
error code = 0000
eax = 00003E00      esi = 000000C7      flags = 3246        ds = 017F
ebx = FAB90005      edi = 000000C0      eip = 00003609      es = 01C7
ecx = 00000000      ebp = 00C09FFF      cs = 019F           fs = 01AF
edx = 00000000      esp = 00000112      ss = 017F           gs = 0000
Ich weiß ja nicht was du mit dem Code willst, aber wenn du den nicht unter DOS ausführst wird es dir vermutlich nicht viel bringen. Ansonsten müßtest du den Code portieren.

Gruß
 
Naja...

Das ist C Sourcecode der eigentlich eine Schrittmotorenkarte ansprechen soll.
Hab das ganze mir nur einfacher vorgestellt.

Okay trotzdem Danke für deine Hilfe!
Für heute reicht es mal...


Gruß Steffen
 
Zurück