Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Fehlermeldung bei Hintergrundänderung (https://www.delphipraxis.net/99272-fehlermeldung-bei-hintergrundaenderung.html)

mac.cat 9. Sep 2007 20:37


Fehlermeldung bei Hintergrundänderung
 
Hi,
nachdem ich beim googeln verzweifelt bin, habe ich mal einen Thread aufgemacht.
Und zwar will ich ein Programm schreiben, dass den Desktophintergrund ändert.
Das funktioniert nur nicht so richtig.

Delphi-Quellcode:
procedure SetBackground(const sPath: String);
begin

 if not SystemParametersInfo(SPI_SETDESKWALLPAPER,
                             0,
                             Pointer(sPath),
                             SPIF_SENDCHANGE OR SPIF_UPDATEINIFILE) then
   RaiseLastOSError;
End;
Er gibt mir die Fehlermeldung "A call to an OS function failed." aus und der Desktophintergrund wird schwarz..
Am Delphi Quelltext selbst kann es eigentlich nicht liegen, da ich auch mehrere Beispiele hier im Forum gefunden habe, die hätten funktionieren müssen. Nach einfügen von "RaiseLastOSError;" gaben sie mir aber die selbe Fehlermeldung aus. (Ohne wurde der Desktophintergrund einfach schwarz, ohne Fehlermeldung).
Ich habe keine Ahnung, woran das liegen kann.

mfg mac.cat

turboPASCAL 9. Sep 2007 20:56

Re: Fehlermeldung bei Hintergrundänderung
 
Hi,

schau mal in die Codelib, da gibts was dazu: [cl]Wallpaper ermitteln/setzen[/cl]

SirThornberry 9. Sep 2007 21:02

Re: Fehlermeldung bei Hintergrundänderung
 
der Fehler liegt hier:
Delphi-Quellcode:
Pointer(sPath)
Erwartet wird ein Pointer auf eine Nullterminierte Zeichenkette. Also ein Pointer auf das erste Zeichen der Zeichenkette auch PChar genannt. Wenn du es auf PChar castest erledigit die Compilermagic das übrige aber ein Cast auf Pointer ist falsch.

mac.cat 9. Sep 2007 21:19

Re: Fehlermeldung bei Hintergrundänderung
 
@turboPASCAL: Da hab ich schon geguckt, wie gesagt, geht nicht ;)
@Sir Thronberry: Hm, daran mag der Fehler auch gelegen haben^^. Ich hab Pointer nun durch pchar ersetzt, aber die Fehlermeldung bleibt die selbe

turboPASCAL 9. Sep 2007 21:28

Re: Fehlermeldung bei Hintergrundänderung
 
Was für ein Betriebssystem hast du und welche Delphiversion ?

mac.cat 9. Sep 2007 21:32

Re: Fehlermeldung bei Hintergrundänderung
 
Windows XP Home SP2
Delphi Version steht ganz oben ;)
also Delphi 6

SirThornberry 9. Sep 2007 21:42

Re: Fehlermeldung bei Hintergrundänderung
 
Also wenn immer noch der Fehler kommt scheint der Pfad nicht zu stimmen oder das Format der Datei. Kann es sein das es kein Bitmap ist was du da übergibst?

mac.cat 9. Sep 2007 21:45

Re: Fehlermeldung bei Hintergrundänderung
 
ich hab es auch schon mit bmp getestet.. und wenn der pfad falsch ist, kommt noch ne andere Fehlermeldung

jfheins 9. Sep 2007 21:46

Re: Fehlermeldung bei Hintergrundänderung
 
Wie lautet denn der Rückgabewert der Funktion?

mac.cat 9. Sep 2007 21:50

Re: Fehlermeldung bei Hintergrundänderung
 
wah
ok.. ich hab es nochmal mit .bmp probiert.. und es ging.. ich bin mir 100% sicher, dass ich es schonmal getestet habe
aber jetzt ging es!!??

-__- das soll noch einer verstehen.

Naja danke für eure Hilfe ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz