Announcement

Collapse
No announcement yet.

DelphiX mit WinNT4 / DirectX6 Initialiserungsfehler

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

  • DelphiX mit WinNT4 / DirectX6 Initialiserungsfehler

    Ich probiere die DelphiX-Komponente mit D5 aus. Unter Win2000 hatte ich keine Probleme. Mit NT4 und DirectX6 bekomme ich bei der Initialisierung
    von DirectDraw (TDirectDraw.CreateEx) ohne Benützung des DirectX7Mode (=false) immer eine Exception SSinceDirectX6: "Necessery since DirectX 6".
    Was wird hier falsch initialisiert?
    Schneider Infosystems AG, Schweiz

    http://www.schneider-infosys.ch

  • #2
    Hi Christoph, habe leider das gleiche Problem.<br>
    Habe alles mögliche von microsoft heruntergeladen<br>
    aber ich bekomme immer die Fehlermeldung "DDRAW.DDL nicht initialisiert".<br>

    Laut microsoft soll die version , ich glaube 6.4 für
    NT und Windows 2000 ok sein.<br>

    Die Version 7.0 oder 7.0a laesst sich ja unter NT nicht installieren !!<br>

    Wenn du was in Erfahrung bringst, könntest du mir Bescheid geben ?<br>
    Umgekehrt natuerlich genauso.<br>

    Tschüß...
    ein Leidensgenosse.
    Matthias Ficht

    Comment


    • #3
      Salü Mathias

      Unterdessen analysierte ich den Runtimefehler. Er entstand in der DelphiX Unit "DXDRAWS.PAS" auf Zeile 1056

      FIDDraw4 := FIDDraw as IDirectDraw4;

      mit einer Exception "Schnittstelle nicht unterstützt". Ich habe das Buch "COM/DCOM" von Andreas Kosch noch nicht zu Ende gelesen aber soweit ich obige Anweisung verstehe, wird mit dieser Anweisung für eine geladende Com (FIDDraw) ein Typcasting auf das Interface (IDirectDraw4) angewandt. Ich vermute, dass in dem von DelphiX definierten Typ IDirectDraw4 eine Abweichung (Fehler oder Versionskonflikt) zum DirectDraw-Com von NT vorliegt und die Operation AS deshalb nicht alle Methoden und Attribute typcasten konnte. Deshalb versuchte ich den Typcast-Operator AS durch einen Typcast ohne aktive Überprüfung zu ersetzten und siehe da, meine Testprogramme laufen.

      D.h. Obige Zeile ersetzen durch

      FIDDraw4 := IDirectDraw4( FIDDraw );

      Selbes gilt für Zeile 1486:

      FIDSurface4 := IDirectDrawSurface4( Value );

      Mich würde jetzt interessieren, ob alle Funktionen der DirectX4 Schnittstelle laufen bzw. welche nicht. Bitte orientiere mich über Deine Erfahrungen

      Christoph Schneider, [email protected]
      Schneider Infosystems A
      Schneider Infosystems AG, Schweiz

      http://www.schneider-infosys.ch

      Comment

      Working...
      X