Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249174 (10610)
  Suchen
 Zurück zur Übersicht
 AutorThema: MLoadBmp & Bildschirmschoner
Jens Berger
Datum:16.02.02 18:19 Antwortenals Email verschicken (www.@audi-o-book.com) 


Hallo Ihr da draußen,
Ich bin am verzweifeln! Ich hab mir mit viel Mühe und Zeit
einen Bildschirmschoner gebastelt, der im Interpreter und
als Exe-Datei wunderbar funktioniert. Nur wenn ich eine .SCR
daraus mache, bekomme ich die Fehlermeldung Bitmap nicht ladbar.
Fehler auf Zeile ... "MLoadBmp".
Auch wenn ich versuche mit einem "Grundbildschirmschoner"
ein Exe-Programm (mit Befehl: MloadBmp) zu starten, gelingt
mir das nicht. Starte ich die SCR-Datei (mit dem Befehl:"MLoadBmp")
direkt - mit Mausklik, ist alles normal.
... hab keine Ahnung mehr, was ich noch tun soll ???
(Windows 98/Profan 7.0)

Vielleicht hat jemand eine Antwot darauf,
vielen Dank - an alle ... jens


Dietmar Horn
Datum: 16.02.02 19:06 Antwortenals Email verschicken (MMJ-Hoyerswerda@gmx.de) 


Hallo Jens,

wenn dein Programm ansonsten im Interpretermodus und auch die *.SCR durch Starten mit Doppelklick einwandfrei funktioniert vermute ich mal, das wird wieder eine dieser leidigen Pfad-Geschichten sein.

Entweder du hast verwendet: MLoadBMP "BILD.BMP", dann funktionierts nur, wenn dein Programm aus dem aktuellen Verzeichnis heraus gestartet wird.

Oder du hast GetDir zur Bestimmung des aktuellen Verzeichnisses hinzugezogen.

GetDir gibt zwar das aktuelle Verzeichnis zurück, doch mit der GETDIR-Lösung bin ich schon sehr, sehr oft auf die Nase gefallen, denn bei diesem Ansatz zur Bestimmung des Programmverzeichnisses geht man davon aus, dass das AKTUELLE Verzeichnis IMMER und auf jedem PC das Programmverzeichnis des in Profan² geschriebenen Programmes ist.

Und gerade das stimmt leider NICHT IMMER !!! Nämlich dann nicht, wenn du deine *.SCR ins Windows-Verzeichnis kopiert hast. Es wäre ein ganz großer Zufall, wenn das aktuelle Verzeichnis beim Starten des Bildschirmschoners das Windowsverzeichnis wäre.

DEMO zur Bestimmung des Programmverzeichnisses:

declare prgverz$ 

PROC INIT 
  declare laufwerk$,pfad$ 
  pfad$=@Par$(0) 
  laufwerk$=@Mid$(pfad$,1,2) 
  pfad$=@Del$(pfad$,1,2) 
   WhileNot @Equ$(@Mid$(pfad$,@Len(pfad$),1),"\") 
     pfad$=@Del$(pfad$,@Len(pfad$),1) 
   Wend 
 prgverz$ = @add$(laufwerk$,pfad$) 
ENDPROC 

INIT 

Messagebox(prgverz$,"I N F O",64) 

end 


In deinem Programm müßte dann also stehen:

MLoadBMP prgverz$ + "BILD.BMP"

Ich hoffe, das hilft Dir weiter.

MfG
Dietmar




 Zurück zur Übersicht