Deutsch
Forum

Erledigt: Letztes Bild laden

 

Das
Dutzend
Hallo
ich war in der Zeit von Profan 3 bis Profan 7 schon recht aktiv. Hatte danach eine längere Pause gemacht und habe mir nun Profan 11 zugelegt. Ich sehe schon, ich muß noch einiges nachholen. Daher komme ich nun zu meinen ersten Problem. Immer, wenn ich Bilder lade, fehlen immer einige BMP´s, wie z.B. in dieser Probe:
KompilierenMarkierenSeparieren
DECLARE X%,Y%,B%,D%,A1$,A2$,A3$,A4$,X1%,Y1%,EBENE%
WINDOWSTYLE 31
WINDOWTITLE "FG-Mahjongg"
WINDOW 10,10-300,350
CLS @RGB(153,0,0)
X1%=20
Y1%=20
B%=2
D%=1
EBENE%=1

WHILE EBENE%<4

    Y%=Y1%

    WHILE Y%<250

        X%=X1%

        WHILE X%<180

            A1$="a_"+TRIM$(STR$(B%))+"_1.BMP"
            A2$="a_"+TRIM$(STR$(B%))+"_2.BMP"
            A3$="a_"+TRIM$(STR$(B%))+"_3.BMP"
            A4$="a_"+TRIM$(STR$(B%))+"_4.BMP"
            DrawPic A1$, X%, Y%; -1
            DrawPic A2$, X%+28, Y%; -1
            DrawPic A3$, X%, Y%+38; -1
            DrawPic A4$, X%+28, Y%+38; -1
            X%=X%+49

        ENDWHILE

        Y%=Y%+69

    ENDWHILE

    EBENE%=EBENE%+1
    X1%=X1%-6
    Y1%=Y1%-6

ENDWHILE

WAITINPUT
END

Unter Profan 7 und Windows 2000 funktioniert dies ohne Probleme (Da allerdings noch mit LoadBMP). Unter Profan 11 und Windows Vista fehlt der letzte BMP.



Kann mir jemand sagen, woran dies liegt.

Ps.: Wer Lust hat, kann ja meine Programme ansehen, die ich schon mit älteren Profan-Versionen erstellt habe. [...] 
 
11.12.2009  
 




Das
Dutzend
Upps: Hier nochmals das Bild:

 
11.12.2009  
 



Versuche vlt. mal ins Speicherbitmap (MCLS/ StartPaint -1) zu zeichnen und dann ein MCopyBmp - obs Problem dann noch auftritt.
 
11.12.2009  
 




Das
Dutzend
Das war mein erster Versuch. Das fehlten sogar noch mehr Bilder. Das eigenartige ist, sobald ich das Fenster verschiebe, werden die fehlende Bilder angezeigt.
 
11.12.2009  
 




Jörg
Sellmeyer
Du solltest Dir mal mehrdimensionale Arrays ansehen und damit einen neuen Ansatz beginnen. Das sollte die Verwaltung Deiner Bilder erheblich vereinfachen.
Außerdem kannst Du besser die Create("Bitmap",...)/Create("hPic",...)-Möglichkeiten nutzen, da Du dann gezielt Bilder löschen kannst.
KompilierenMarkierenSeparieren
A1$="a_"+TRIM$(STR$(B%))+"_1.BMP"

Ich seh in Deinem Code nicht, warum B% als Variable auftaucht, wenn es in der Schleife nicht verändert wird.


Das eigenartige ist, sobald ich das Fenster verschiebe, werden die fehlende Bilder angezeigt.


Vielleicht mal ein Repaint am Ende der Schleife einbauen?
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
11.12.2009  
 




Das
Dutzend

Ich seh in Deinem Code nicht, warum B% als Variable auftaucht, wenn es in der Schleife nicht verändert wird.


Ich habe aus einem größeren Quelltext diesen kurzen zusammengebastelt, Nur zur veranschauung


Du solltest Dir mal mehrdimensionale Arrays ansehen und damit einen neuen Ansatz beginnen.


Das könnte ich mal versuchen

@if: Es funktioniert doch (ich hatte ein kleinen fehler eingebaut), aber hier wird der gesamte Bildschirm auch erst dann angezeigt, wenn ich das Fenster verschiebe, oder die Fenstergröße verändere.

Unter 16 Bit-Farben funktioniert alles, und unter 32-Bit-Farben nicht.
 
11.12.2009  
 




Jörg
Sellmeyer
Poste doch mal einen lauffähigen Code inclusive Bilddateien. Du wirst entweder beim Erstellen des Codes feststellen, woran es liegt oder wir können hier gemeinsam rauskriegen, wo es hakt.


Es funktioniert doch (ich hatte ein kleinen fehler eingebaut)


Du siehst ja, daß wir so nur blind raten können.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
12.12.2009  
 




Das
Dutzend
Es geht um mein Mahjongg-Spiel, das ich mal mit Profan 5 ??? geschrieben, und später mit Profan 7 erweitert habe. [...]  Immer wieder bekomme ich Mails, das Anwender mit Vista schwierigkeiten damit haben. (Unter Win 98, ME, 2000 läuft es super). Ich hatte eigentlich gedacht, wenn ich mir Profan 11 hole, und einfach neu Compiliere ist das Problem vom Tisch. Aber da tauchen noch mehr Probleme auf. Gestern bin ich angefangen, das ganze Spiel neu zu schreiben, Falls es nicht klappt, komme ich wieder. In den vielen neuen Funktionen seit damals muß ich mich erst reinlesen. Heute kann man es bestimmt um einiges vereinfachen.
OGL wäre bestimmt auch eine tolle Idee, aber bis ich das gecheckt habe, vergeht wohl noch eine Zeit.
Das Orginal von damals hat 1700 Programmzeilen, das möchte ich euch nicht antun.
 
12.12.2009  
 




Thomas
Freier

Ich hatte eigentlich gedacht, wenn ich mir Profan 11 hole, und einfach neu Compiliere ist das Problem vom Tisch.


Mit der eingebundenen profalt.inc getestet oder mit der XProfan 8.1 (jetzt frei) compiliert?
 
Gruß Thomas
Windows XP SP2, XProfan X2
12.12.2009  
 




Das
Dutzend
Nein, die alten Befehle habe ich schon getauscht (LoadBMP zu DRAWPIC, DBOPEN() zu DB("Open"), createtext() zu create("Text") usw.)
 
12.12.2009  
 




Sebastian
Sprenger
Hast du noch den Vorschlag von Jörg gesehen, am Ende der Schleife den Befehl "repaint" zu setzen?
 
Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32
Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM
Windows Me, 1.8 Ghz, 256 MB RAM
12.12.2009  
 




Das
Dutzend
Das Funktioniert. Bei dem Projekt habe ich allerdings auch Bitmaps, die mit MLoadBmp/MCopyBmp geladen werden, hier habe ich weiterhin Probleme. Die Lösung habe ich aber schon gefunden. Ich habe die Bitmaps zerschnitten, und lade diese nun mit DRAWPIC. Dadurch wurden zwar aus 3 BMP ca. 450 BMP, aber was solls. Zur Zeit speicher ich diese in eine DLL. Habe gerade wieder eine Mail erhalten, diesmal ging es um ein Windows 7-Problem. Ich danke euch erst mal.
 
12.12.2009  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

11.481 Betrachtungen

Unbenanntvor 0 min.
iF13.09.2015
Tommy07.01.2014
Sebastian Sprenger19.03.2013
Lothar Dannhauer22.06.2012

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie