Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 04, 2025 21:55

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 30 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: In Fullscreen und wieder zurück
BeitragVerfasst: Do Nov 14, 2002 18:19 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
hi,
progge grade ein OGL-Prog (endlich mal wieder) und da will ich in Fullscreen wechseln und zum Schluss wieder in die vorherige Aulösung wechseln. Jetzt mein Problem: Wie mache ich das (es sollte auch die Frequenz zurückstellen)? dickes thnx im vorraus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 14, 2002 19:13 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
schau dir mal das vcl template an, da is ne unit dabei, die dir weiterhelfen könnte


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 06, 2002 20:40 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
endlich komm ich mal dazu ;D
Ich bekomm da 'ne EAccessViolation...
(SwichFullscreenMode)
ich benutz das VCL OGL 1.2 Template


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 06, 2002 20:58 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Diese Info ist noch nicht sehr hilfreich...


Zuletzt geändert von Delphic am Di Jul 21, 2009 08:32, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 06, 2002 21:03 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Auf so einen Satz hab ich gewartet :wink:
also wörtwörtlich:
>> Project Santa.exe raised exception class EAccessViolation with message 'Access vialotion at adress 004383EF in module 'Santa.exe'. Read of adress 00000180'. Process stopped. Use Step or Run to continue. <<


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 08, 2002 12:42 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
keiner 'ne idee?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 08, 2002 14:24 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Debug dich mal langsam durch und schau wos ihn genau zerreißt.... Die Zeile wär interessant, die Adressen kann ich nich verwenden, weil die dürften in deinem Programm anders sein als in meinem


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 09, 2002 11:52 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
ACHTUNG: Beim wechseln zwischen FS und WM ist darrauf zu achten, dass sich evtl. der Rendering-Context ändert und somit alle Texturen und 3D-Daten neu initialisiert und geladen werden müssen!!! Sollte man NIE vergessen!!!!

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 09, 2002 15:53 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 06, 2002 20:27
Beiträge: 479
Wohnort: Bremen
du kannst ganz einfach mit dem winapi-befehl changedisplaysettings wechseln... wenn du das machst bevor du openGl initialisierst und erst bei programmende zurückwechselst, dann sollte es keine probleme geben:

so ungefähr funzt des:

Code:
  1. var dmScreenSettings : devmode;
  2.  
  3.  
  4.  
  5. ZeroMemory(@dmScreenSettings, SizeOf(dmScreenSettings));
  6.  
  7. with dmScreenSettings do begin &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
  8.  
  9.  &nbsp; &nbsp;dmSize &nbsp; &nbsp; &nbsp; := SizeOf(dmScreenSettings);
  10.  
  11.  &nbsp; &nbsp;dmPelsWidth &nbsp;:= Width; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
  12.  
  13.  &nbsp; &nbsp;dmPelsHeight := Height; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
  14.  
  15.  &nbsp; &nbsp;dmBitsPerPel := PixelDepth; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
  16.  
  17.  &nbsp; &nbsp;dmFields &nbsp; &nbsp; := DM_PELSWIDTH or DM_PELSHEIGHT or DM_BITSPERPEL;
  18.  
  19. end;
  20.  
  21. ChangeDisplaySettings(dmScreenSettings, CDS_FULLSCREEN)
  22.  
  23.  


Zurück in den Standardmode ist noch einfacher... da übergibst du einfach ein nicht initialisiertes devmode and die funktion. (nil dereferenzieren und typecasten)

ChangeDisplaySettings(devmode(nil^), 0);


-lith

_________________
Selber Denken macht klug!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 09, 2002 16:26 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Danke Lith! Meine Warnung ist nur dann zu berücksichtigen, wenn wärend der Laufzeit geweschelt wird. Wenn man am Anfang in FS wechselt, die Texturen und 3D-Daten lädt und beim beenden des Progs den FS wieder zurücksetz, ist es natürlich nicht notwendig, die Textuern und 3D-Daten zu laden. Nur als Anmwerkung, bevor es richtig Verwirrung gibt.

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 31, 2002 23:21 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Jetzt kommt ein neues Problem:
Wie funktioniert das aus einer Unit heraus?
Ich bekomme beim Versuchen eine durchschnittliche Auflösung von 120x90.....
Ich versuche die Sache aus einer externen Unit (wie zB. classes oder sysutils) zu laden.
Selbstverständlich vor dem laden des RC.

Cyas,


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jan 01, 2003 15:24 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Ich wechsle die Auflösung bei meinem neuen Projekt auch über ChangeDisplaySettings und tue dies auch von einer externen Unit aus.

Bei mir funktioniert das aber einwandfrei. Bist du dir sicher, das du in dmPelsWidth und dmPelsHeight auch die richtigen Parameter übergibst?

Setz dort mal nen festen Wert (1024x768 oder so) fest und probiers dann nochmal...wenns dann geht, übergibts du irgendwo falsche Parameter.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jan 01, 2003 15:31 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Ich bekomme immer einen EInvalidError: Cannot change Visible in OnShow or OnHide.
Auch wenn ich die Parameter festlege.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jan 01, 2003 15:37 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Sieht so aus, als würdest du die Auflösung im OnShow-Ereignis deiner Form ändern wollen...das hat dein Fenster nicht gerne (wenns denn so ist).

Verleg mal den Auflösungswechsel in den OnCreate-Event deiner Form, dann sollte es auch funktionieren.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jan 01, 2003 15:41 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Hngh... da hab ichs reingesetzt, weil ich mit dem depth alles in einen aufwasch haben wollte... jetzt sieht es so ähnlich aus, nur das ein EAccessViolation mit lauter nullen auftritt...
Weil ich Depp versuche da schon die Größe des Fensters zu verändern... nein...


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 30 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: Majestic-12 [Bot] und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.013s | 15 Queries | GZIP : On ]