Einzelnen Beitrag anzeigen

Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#35

AW: Probleme mit Bildschirmschonervorschau

  Alt 26. Mai 2012, 17:54
Die Vorschauschleife ist dort genauso gelöst wie weiter oben von mir hier veröffentlicht, danke!

Die eigentliche Zeichenfunktion lagerte ich in eine Prozedur aus:

Delphi-Quellcode:
procedure Ausgabe(canvas:TCanvas;x,y:word);
begin
//Quellcode für den Bildschirmschoner
end;
die so

while IsWindowVisible(DemoWnd) do Ausgabe(MyCanvas,scrWidth,scrHeight);

aufgerufen wird, das klappt soweit auch. x und y sind dabei natürlich die Abmessungen des Canvas, somit weiß die Prozedur, in welche Fläche (Ausdehnung derselben) sie zu zeichnen hat.

Nun wollte ich diesselbe Prozedur ja nicht nur für die Schonervorschau, sondern auch für das eigentliche Bildschirmschonen benutzen, deshalb ja die Prozedur. Doch der Aufruf vom als SaverScreen titulierten Formular

Ausgabe(SaverScreen.Canvas,SaverScreen.Width,SaverScreen.Height)

klappt natürlich nicht (wäre ja auch zu schön gewesen), es findet keine Ausgabe statt. Die Prozdur wird natürlich aufgerufen, das war das erste, was ich prüfte. Irgendetwas stimmt mit der Übergabe nicht. Ich probierte es schon mit Pointer, mit der Kreierung eines eigenen Canvas, dem ich das Handle des ScaverScreens respektive seines Canvas' zuwies, doch es tut sich einfach nichts, bis auf einmal, als wenigstens die Meldung kam, daß die Fläche kein Zeichnen erlaubt.

Wie bekommt man dieser Prozedur mitgeteilt, daß sie diesmal auf das Canvas des Schonerformulares zeichnen soll?

Edit: Die Übergabe des Canvas' klappt doch, der Fehler liegt woanders...

Edit 2: Fehler gefunden.

Geändert von Delphi-Laie (26. Mai 2012 um 18:21 Uhr)
  Mit Zitat antworten Zitat