Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Programm läuft nicht wegen 16bittiefe? [gelöst]

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
T1m0



Anmeldungsdatum: 24.05.2008
Beiträge: 19

BeitragVerfasst am: 03.01.2011, 17:54    Titel: Programm läuft nicht wegen 16bittiefe? [gelöst] Antworten mit Zitat

Hallo Ich hoffe ihr könnt mir helfen.

Ich habe ein Programm geschrieben, dass unter anderem Bilder per Bload anzeigt.
Da die Bilder transparenz besitzen sollten habe ich per folgende Befehle

Code:
ScreenRes 1024,768,16,,&h10 Or &h20


und

Code:
buffer = ImageCreate(1024,768,&h00FF00FF)


den Bildern transparenz zugeteilt. Wenn ich das ganze bei meinem Vista PC laufen lasse klappt alles wunderbar. Die Bilder werden mit ihrer transparenz angezeigt. Wenn ich es jedoch auf meinem anderen XP Rechner ausprobiere startet sich das Programm und läuft aber ich sehe nichts. Überhaupt nichts.
Mittlerweile habe ich herausgefunden, dass wenn ich aus der Zeile:
ScreenRes 1024,768,16,,&h10 Or &h20
die Bittiefe rausnehme, also: ScreenRes 1024,768,,,&h10 Or &h20
funktioniert das Programm plötzlich auf dem XP Rechner. Aber die Transparenz ist dann natürlich futsch.

Wo liegt das Problem?
Ich hoffe auf schnelle Antwort. Dankeschön


Zuletzt bearbeitet von T1m0 am 07.01.2011, 23:18, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 03.01.2011, 19:05    Titel: Antworten mit Zitat

Probier mal 24 oder 32 Bit Farbtiefe zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
T1m0



Anmeldungsdatum: 24.05.2008
Beiträge: 19

BeitragVerfasst am: 03.01.2011, 19:17    Titel: Antworten mit Zitat

hab es mit 24bit und 32bit probiert aber dasselbe Resultat. Man kann nichts sehen.
Das das Programm läuft beweist aber das ich eine Messagebox eingebaut hab, die auch auftaucht. Aber alles andere fehlt.

Wenn ich das Programm unter Kompatiblität win98 laufen lasse geht das Programm aber da geht die Transparenz nicht. Habs eben einem Kumpel geschickt der auch Windows XP besitzt und bei ihm geht das Programm. Woran kann das liegen? Fehlt vielleicht irgendwas im Windows von dem PC? Dankeschön
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
XOR



Anmeldungsdatum: 23.07.2010
Beiträge: 161

BeitragVerfasst am: 03.01.2011, 19:55    Titel: Antworten mit Zitat

Haenge mal bei
Code:
ScreenRes 1024,768,16,,&h10 Or &h20

noch ein Or &h40 dran und bei
Code:
buffer = ImageCreate(1024,768,&h00FF00FF)

noch eine ,16.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 03.01.2011, 20:30    Titel: Antworten mit Zitat

Code:
&h00FF00FF

Meinst du nicht eher folgendes?
Code:
&hFF00FF
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 03.01.2011, 20:41    Titel: Antworten mit Zitat

Westbeam hat Folgendes geschrieben:
Code:
&h00FF00FF

Meinst du nicht eher folgendes?
Code:
&hFF00FF

Die führenden Nullen sollten Wurst sein oder ist 012 eine andere Zahl als 12?
Die führenden Nullen dürfen und werden auch in der Mathematik einfach gestrichen, Compiler machen es nicht anders.
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
T1m0



Anmeldungsdatum: 24.05.2008
Beiträge: 19

BeitragVerfasst am: 03.01.2011, 20:51    Titel: Antworten mit Zitat

Danke für die schnellen Antworten!

Code:
Haenge mal bei
Code:
ScreenRes 1024,768,16,,&h10 Or &h20

noch ein Or &h40 dran und bei
Code:
buffer = ImageCreate(1024,768,&h00FF00FF)

noch eine ,16.



hat leider nicht geklappt. Es wird weiterhin nichts angezeigt.
folgendes funktioniert:
Code:
ScreenRes 1024,768,16,,8


Sobald ich aber &h10 oder &h40 dazuhänge geht es nicht mehr.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
XOR



Anmeldungsdatum: 23.07.2010
Beiträge: 161

BeitragVerfasst am: 03.01.2011, 21:31    Titel: Antworten mit Zitat

Zitat:
Sobald ich aber &h10 oder &h40 dazuhänge geht es nicht mehr.

koennte es sein, das noch was geht, aber nichts angezeigt wird, da alles durchsichtig ist?
Wie fiel Bit hat den das Bild?
Zitat:
Achten Sie beim Laden von Bildern darauf, dass diese die gleiche Farbtiefe aufweisen wie der gewählte Bildschirmmodus (siehe SCREEN). Laden Sie beispielsweise kein 24-Bit-BMP in einen SCREEN mit Farbtiefe 4 Bit.

Koennte es sein das es nicht richtig geladen wird?
probier mal
Code:
Dim Buffer As Any Ptr
Dim Fehler As Integer
ScreenRes 1024,768,16,,&h10 Or &h20
Buffer = ImageCreate(1024,768,&hFF00FF,16)
Fehler = BLoad("Test.bmp",Buffer)
Put(0,0),Buffer
Print Fehler
Sleep
ImageDestroy(Buffer)
End

wenn fehler = 0 ist, wurde das Bild erfolgreich geladen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
T1m0



Anmeldungsdatum: 24.05.2008
Beiträge: 19

BeitragVerfasst am: 03.01.2011, 22:17    Titel: Antworten mit Zitat

Hi, Danke für den Lösungsansatz lächeln

Wenn ich das Programm mit
Code:
ScreenRes 1024,768,16,,8

starte dann klappt es. 0 wird angezeigt.

Wenn ich es aber mit
Code:
ScreenRes 1024,768,16,,&h10 Or &h20

ausführe, kann ich kein 0 ablesen weil ich absolut nichts sehe. Auch kein Print usw. obwohl das Programm läuft.
Das einzige was ich in diesem Zustand darstellen kann ist eine Messagebox.
Ich kann mir echt nicht erklären warum.. Ich hoffe ihr könnt mir weiterhelfen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 03.01.2011, 22:43    Titel: Antworten mit Zitat

Nur mal geraten: probiere bei PUT doch mal ein Aktionswort (PSET oder vielleicht auch TRANS). Ohne Aktionswort hatte ich nicht immer das vermutete Ergebnis.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
XOR



Anmeldungsdatum: 23.07.2010
Beiträge: 161

BeitragVerfasst am: 03.01.2011, 22:52    Titel: Antworten mit Zitat

Hier mal was zum testen
Code:
#Include "windows.bi"
Dim Buffer As Any Ptr
Dim Text As String
Dim Fehler As Integer
Dim Depht As Integer
Declare Function FehlerNummer(ByVal Nummer As Integer) As String
ScreenRes 1024,768,16,,&h10 Or &h20
Buffer = ImageCreate(1024,768,&hFF00FF)
Fehler = BLoad("Test.bmp",Buffer)
Put(0,0),Buffer,PSet
Text = "Laden des Bildes: " + FehlerNummer(Fehler) + Chr(13,10)
Text += "Buffer adresse: "& Str(Buffer) + Chr(13,10)
Text += "Screen adresse: "& Str(screenptr) + Chr(13,10)
ScreenInfo(,,Depht)
Text += "Screen Farbtiefe: "& Str(Depht) + Chr(13,10)
ImageInfo(Buffer,,,Depht)
Text += "Image Farbtiefe: "& Str(Depht*8) + Chr(13,10)
messagebox(0,Text,"INFO",MB_ICONINFORMATION Or MB_OK)
ImageDestroy(Buffer)
End

Function FehlerNummer(ByVal Nummer As Integer) As String
   Select Case Nummer
      Case 0
         Return "kein Fehler"
      Case 1
         Return "ungültiger Funktionsaufruf"
      Case 2
         Return "Datei nicht gefunden"
      Case 3
         Return "Datei-Ein-/Ausgabe-Fehler"
      Case 4
         Return "Zuwenig Speicher"
      Case 5
         Return "ungültiges RESUME"
      Case 6
         Return "Array-Indexüberschreitung"
      Case 7
         Return "NULL-Pointerzugriff"
      Case 8
         Return "fehlende Berechtigungen"
      Case 9
         Return "Unterbrechung"
      Case 10
         Return "ungültige Anweisung"
      Case 11
         Return "Gleitkommafehler"
      Case 12
         Return "Speicherzugriffsfehler"
      Case 13
         Return "Beendigungsanforderung "
      Case 14
         Return "unnormale Beendigung"
      Case 15
         Return "Anfragesignal beendet"
      Case 16
         Return "Return ohne Gosub"
      Case 17
         Return "Dateiende"
   End Select
End Function

Moegliche fehlerquellen werden in der messagebox aufgelistet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
T1m0



Anmeldungsdatum: 24.05.2008
Beiträge: 19

BeitragVerfasst am: 03.01.2011, 23:25    Titel: Antworten mit Zitat

Hi. Danke für die Tipps.
Leider hat PSET sowies TRANS auch nicht geholfen.

Das Programm von XOR hab ich jetzt mal laufen lassen und es verblüfft mich..
Seht selbst:


Uploaded with ImageShack.us

Das Bild wird gefunden und geladen. Alles funktioniert laut Messagebox wunderbar jedoch wird nichts angezeigt. Kein bild. Es ist nicht "völlig" Transparent. Ich habe zum Test einen großen schwarzen Balken reingemalt aber man sieht leider auch bei diesem Test wieder gar nichts.
Woran kann das liegen, dass Windows diese Bilder (oder Text à la PRINT) in diesem Modus einfach nicht anzeigen will?

Witzig zu sagen ist auch, dass wenn ich oben das fehler.exe Fenster offen habe ich nichts anklicken kann außer oben die Taskleiste. Das heißt das Bild ist offen und ich kann unter diese "schicht" nicht klicken. Aber ich kann eben das Bild einfach nicht sehen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
T1m0



Anmeldungsdatum: 24.05.2008
Beiträge: 19

BeitragVerfasst am: 05.01.2011, 17:02    Titel: Antworten mit Zitat

Jetzt hab ich das ganze nochmal mit einer anderen IDE ausführen wollen und folgendes kam dabei raus:




Ich bin echt ratlos..
Ich hoffe ihr könnt mir sagen was das zu bedeuten hat.
gruß T1m0
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 05.01.2011, 17:48    Titel: Antworten mit Zitat

Könnte es sein, dass es auf dem PC ein Problem mit dem Grafiktreiber gibt? Ist der Grafiktreiber in der aktuellsten Version installiert? Gibt das Diagnosetool dxdiag (bei Start->Ausführen eingeben und Enter drücken) Warnhinweise aus?
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 06.01.2011, 13:19    Titel: Antworten mit Zitat

Stell deinem Code mal folgendes voran:
Code:
SetEnviron("fbgfx=GDI")

Wenns dann nett klappt ist was im Argen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
T1m0



Anmeldungsdatum: 24.05.2008
Beiträge: 19

BeitragVerfasst am: 07.01.2011, 21:15    Titel: Antworten mit Zitat

Ich danke euch für eure Vorschläge.
Leider hat das alles nichts gebracht.

Ich werde mal die Treiber neu installieren bis bald
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
T1m0



Anmeldungsdatum: 24.05.2008
Beiträge: 19

BeitragVerfasst am: 07.01.2011, 23:19    Titel: Antworten mit Zitat

Das Problem ist erledigt.

Ich habe das Programm auf deinem RemotePC per VNC ausgeführt. Aber beim VNC Host war das "Alpha-Blending" deaktiviert, somit konnte die Transparenz anscheinend nicht angezeigt werden oder führte zu Fehlern.

Ich bin froh das das Problem beseitigt ist und ich möchte euch allen Danken für eure Hilfe happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 08.01.2011, 01:44    Titel: Antworten mit Zitat

Ähm das ist ohne Worte. Windows ist nicht für VNC gedacht und wenns dann nicht läuft wärs gut das da zu sagen zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 08.01.2011, 13:55    Titel: Antworten mit Zitat

28398 hat Folgendes geschrieben:
Windows ist nicht für VNC gedacht

Windows ist genau so wenig/viel für VNC "gedacht" wie für jegliche andere Drittanbieter-Software. Allerdings ist es schon recht... eigen, Grafikprogrammierung über VNC zu betreiben.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz