Announcement

Collapse
No announcement yet.

DirectInput läuft nicht, wie es soll

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DirectInput läuft nicht, wie es soll

    HI,

    ich versuche zur Zeit in meiner Anwendung DirectInput zu benutzen. Es läuft alles bestens und habe auch alle notwendigen Schritte durchgeführt, aber sobald ich folgende Zeile einfüge:

    hr = g_pKeyboard->SetDataFormat(&c_dfDIKeyboard);

    meldet der Compiler eine Fehlermeldung

    "[Linker Fehler] Unresolved external '_c_dfDIKeyboard' referenced from d:\directx\directinput\unit1.obj"

    Diese Meldung erscheint bei der Compilierung mit dem C++ Builder 4 prof.

    Wer kann mir weiterhelfen?

    Gruß Philipp

  • #2
    Hallo, ich vermute mal, daß Du zwar ein #include < dinput.h > eingebunden hast, aber kein USELIB("dinput.lib"). Und diese Datei wirst Du Dir erst erzeugen müssen:

    cd \windows\system32

    \programme\borland\cbuilder4\bin\implib dinput.lib dinput.dll

    copy dinput.lib \meinprojektpfad

    Hab jetzt selbst vor dem Problem gestanden, allerdings mit anderen DLL's

    Gruß: Günthe
    Günther

    Comment


    • #3
      Hi,

      ich habe den Ordner mit den LIB - Files dem Compiler bekannt gemacht und dachte, das ich die LIB nicht mehr einbinden muss, da es bei DirectDraw ja auch nicht brauch. ZUmindestenz habe ich sie nun eingebunden. Sobald ich jetzt kompiliere erhalte ich eine Fehlermeldung, wenn ich es aber das zweite mal compiliere, lauft es wieder. Nun wollte ich sehen, ob ich auch abfragen kann, ob eine bestimmte Taste gedrückt wurde.

      <pre>
      void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
      {
      char keys[256];
      g_pKeyboard->GetDeviceState(sizeof(keys), keys);

      if (keys[DIK_E] && 0x80)
      {
      ShowMessage("TastenDruck von E");
      }
      }
      //---------------------------------------------------------------------------
      </pre>

      Leider erscheint die Meldung bei fast allen Tasten und nicht nur bei e.

      Außerdem wollte ich auch in meiner Anwendung DirectSound benutzen. Nur zum Test habe ich erstmals nur die Header mit eingebunden, aber schon wenn ich dieses kompiliere erhalte ich Fehler, egal ob die LIB mit eingebunden ist oder nicht. Schließlich wird irgendeine Header geöffnet, in der irgendwelche Dinge nicht stimmen. Aber ich besorge mir demnächst das Direct SDK 7.0 und dann wird es höffntlich laufen, trotzdem interissiert mich, was falsch ist.

      Gruß Philip

      Comment

      Working...
      X