AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

Ein Thema von Alex_kfm · begonnen am 23. Jan 2007 · letzter Beitrag vom 26. Jan 2007
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#11

Re: PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

  Alt 24. Jan 2007, 09:49
Zitat von Alex_kfm:
Das mit dem DirectX 9 ist klar. Ich werde mal zusehen, dass ich vorher abfrage, ob die richtige DirectX Version überhaupt installiert ist. Weiss jemand zufällig auf die Schnelle, wie man das am sinnvollsten macht? Ich könnte ja auf das Vorhandensein der d3dx9.dll prüfen, doch das scheint mir eine wenig saubere Methode zu sein.
Das waere auch mein erster gedanke gewesen. Man kann aber auch in der Registry nachgucken. Aaber: Nachdem du sowieso nicht direkt auf die Direct3DCreate9-Funktion aus der d3d9.dll verweisen kannst, wuerde es Sinn machen, einfach nur auf das Vorhandensein der dll zu achten, weil man sie dynamisch laden muss:
Delphi-Quellcode:
function CreateD3D(): IDirect3D9;
type
  TCreateD3D = function(DWORD): IDirect3D9;
var
  Creation: TCreateD3D;
  D3D9Dll: HMODULE;
begin
  result := nil; //Wenn Direct3D9 nicht da is, wird nil zurueckgegeben
  D3D9Dll := LoadLibrary('d3d9.dll');
  if (D3D9Dll = 0) then
    exit;
  Creation := TCreateD3D(GetProcAddress(D3D9Dll, 'Direct3DCreate9');
  if (Creation = nil) then
    exit;
  result := Creation(D3D_SDK_VERSION);
end;
Du musst aber acht geben: Du darfst nicht mehr einfach die Direct3D-Unit einbinden, dort wird naemlich statisch auf die Funktionen verlinkt. Du musst stattdessen die Deklaration des IDirect3D9-Interfaces mitsamt den benoetigten Typen rauskopieren und so dann verwenden.

@RainerO: Der Code ist etwas suboptimal Er erstellt extra fuer die Pruefung ein Fenster und ein Device, dabei ist das nicht noetig, weil auch das Direct3D9-Interface die benoetigten Funktionen mitbringt

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Alex_kfm

Registriert seit: 6. Sep 2006
37 Beiträge
 
Delphi 2007 Professional
 
#12

Re: PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

  Alt 26. Jan 2007, 12:37
Hallo JasonDX,

das geht dann wohl doch über meine Fähigkeiten als Newbee hinaus. Ich hab zwar mal deine gepostete Funktion eingebaut und auch das Interface kopiert, doch dann war ich mit meinem Latein am Ende.

Das Auslesen funktioniert aber prima und das war es ja, worauf es mir ankam.

Noch einmal: Vielen Dank für eure Hilfe.

Gruß,
Alex
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf