Delphi + DirectX(?) összeakad

Delphi + DirectX(?) összeakad
2005-02-08T08:29:28+01:00
2005-02-11T11:32:19+01:00
2022-10-23T16:25:44+02:00
ahilesz
Kicsit bőlére fogom ereszteni, mert igazából gőzöm sincs, hol lehet a gond. Remélem valakinek lesz már ilyesmi tapasztalata.

Írtam egy programot (SetWindowsHookEx van benne lényegében), amit elindítok (időben az van előbb - 1), a háttérben ott marad. Játékprogram kiegészítés a feladata.

Elindítom a játékot (2), directX-es, egész képernyős, 800x600x256 módban fut.

Taskot váltok alt-tab-al desktop-ra (3), mert éppen kell valamiért. Visszaváltok a játékra (4) alt-tabbal, vagy az alsó asztal-gombbal, mindegy.

Nosza ha a desktopom 800x600-ra volt beállítva, remekül menni is fog (4) után a játék. De ha 1024x768-ra van beállítva, akkor biza a játék képernyőből fekete semmit se látok (4) után. Vissza tudok váltani desktopra (nem fagy ki a gép), kilőni a programomat, vagy épp átkapcsolni a desktopot 800x600-ba (4) előtt, mindkét esetben (4) után látni fogom a játék képet gond nélkül.

A video kártya (Geforce4 mx420) driverből a gyártó honlapon az van fent, amit a video kártya CD-jével együtt kaptam, de feltűnt az is, hogy az XPSP1hun-t miután feltelepítem, újabb driver van alapból beépítve a winbe (erre figyelmeztet a telepítő varázsló), mint amim van, és egyáltalán nem is telepítem a video kártya CD-jét. Szóval drivert frissíteni nem igazán tudok.

Egyszerűen csak olybá látszik az egész, mintha a delphi + 1024x768 + derectX direkt összeveszne egymással, és nem tudok rendet tenni közöttük. Tippem sincs, melyikük is lehet igazából hibás.

Help!
Mutasd a teljes hozzászólást!
Azért egy drivert frissíthetsz innen, egyébként a winben lévő driverek sosem voltak jók...
Mutasd a teljes hozzászólást!

  • Na ember.
    Az elobb irtam mar egy regenyt neked, de szerencsere kiment a villany a kuldes elott... :{

    Tehat meg egyszer:
    Ha a jatek nehed delphi be keszult DirectX-el {vagy akar c-ben DirectX el}
    akkor az application visszakapcsolasanal ujra kell inicializalni a DirectX es motyokat, ujratolteni a grafikat.

    Ezt a Application.OnRestore segitsegevel kell megoldanod (vagy az application.onactivate)

    tudoood!?!?!?

    valahol az eljarasok deklarasaban:
    procedure Appreact;

    valahol az form.oncreate-ba:

    Application.onrestore:=appreact;
    {vagy application.onactivate:=appreact}

    aztan:

    procedure Tform1.appreact;
    begin
    DXdolgokINIT; //itt fogod ujratoltani a grafikat, inicializalni stb...
    end;

    Nekem bejott..

    Mit hasznalsz Delphihez Direct X kent?
    DelphiX-et, Clootie DirectX- et vagy mast?????

    Udv.
    Mutasd a teljes hozzászólást!
  • Raleon: köszi a tippet, de a játékot (Diablo2 LOD) nem én írtam. Azt persze nem csodálom, ha Blizzék tessék-lássék módjára dobták össze az egészet (ahogy azt szokásuk) és "melós-módra" kódoltak, mert pld. warc3-al, meg csomó egyéb progival nincs összeakadási gond.

    Egyenlőre a video drivert próbálom frissíteni (ma már remélem sikerül hazavinnem, +szivattak a vacak floppyk, ma pen-elek).
    Mutasd a teljes hozzászólást!
  • vincenzo: frissítettem a drivert. A jelenség megmaradt. Nyilván a driver is bűnös volt valamiben (a verziószám 2.1-ről 6.6-ra változott), de sajnos nem az egyetlen. Ha egyéb javaslat nem születik, te érdemled az 50 pontot.

    Jelenleg épp megkerülni próbálom a problémát egy másik topicban.

    OFF: Kisöcsi köszöni neked, hogy most már rendesen fut a neverwinternights vagy mittudomén mi a neve.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd