Pagina 1 van 1
Screensaver
Geplaatst: 20 nov 2004, 15:47
door Erik
hallo,
Ik heb me de laatste paar weken geamuseerd mee het programmeren van een 32 bit windows screensaver.Het is nu klaar en werkt
het moeilijkste van allemaal is die "screensaver preview" functie (dit heeft me bloed zweet en tranen en ook veel gevloek)

gekost maar hij werkt !
De screensaver tekent zo "dansende" pixels op uw beeldscherm (gebruikt wiskundige functies) sinus en pi en cosinus enzo
en de zogenaamde "settings dialog"
De screensaver is gemaak Borland Delphi 6 maar maakt ook veel gebruik van de windows api (microsoft)
download
hier
vragen ? commentaar ? roep eens

Geplaatst: 20 nov 2004, 15:58
door bke
Netjes gedaan, deze staat nu ingesteld als mijn screensaver in plaats van de standaard XP screensaver

Geplaatst: 20 nov 2004, 17:23
door Orcie
Ziet er inderdaad proper uit maar ik kan mijn instellingen niet aanpassen.
Geplaatst: 20 nov 2004, 17:37
door Erik
hallo,
tjien dat is raar

krijg je ook een foutmelding zoals bijvoorbeeld
ook is het handig te weten welk operating system u hebt.Windows uiteraard anders zou het helemaal niet werken maar welke ? ik zit op windows xp professional zal em er hier eens afgooien en die downloaden en kijken wat er gebeurt normaal moet je die kleur kunnen kiezen (de achtergrond en de kleur van de pixels die getekend worden) maar bij u is dat dus duidelijk niet het geval
Geplaatst: 20 nov 2004, 17:39
door Orcie
Hey, neen ik krijg geen foutmelding, alleen dat leeg kadertje als ik de instellingen wil aanpassen. Ik gebruik Windows XP Pro als os, zonder service packs. Verder werkt de screensaver wel

, alleen de instellingen kan ik niet wijzigen.
Geplaatst: 20 nov 2004, 17:47
door Erik
hallo,
yup u hebt gelijk dat venstertje verschijnt zonder de controls om de kleuren te kiezen.Ik heb dat bestand(Screensaver.zip) even erafgegooid want mee ne screensaver dat maar voor de helft werkt ben je niks he dit is een zogenaamde "basis functionality failure" eens zien wat we daaraan kunnen doen se
Geplaatst: 20 nov 2004, 17:51
door Orcie
Erik schreef:hallo,
yup u hebt gelijk dat venstertje verschijnt zonder de controls om de kleuren te kiezen.Ik heb dat bestand(Screensaver.zip) even erafgegooid want mee ne screensaver dat maar voor de helft werkt ben je niks he dit is een zogenaamde "basis functionality failure" eens zien wat we daaraan kunnen doen se
Ok, veel succes

Geplaatst: 20 nov 2004, 18:45
door Erik
hallo,
die link werkt weer en nu verschijnt dat venstertje hier correct tis trouwens een nieuw gemaakt venstertje nu gaat dat werken

Geplaatst: 20 nov 2004, 18:57
door Orcie
Ja, nu werkt het

Bedankt om het op te lossen.
Geplaatst: 20 nov 2004, 19:14
door Erik
hallo,
Dat is een prioriteit he mee iets dat maar half werkt daar ben je niks mee dan zeggen de mensen bij zichzelf welke amateur heeft dat gemaakt

Geplaatst: 20 nov 2004, 20:32
door Weetgraag
Nice work Erik,
Misschien teveel gevraagd na al je werk maar zou je de snelheid van de pixels ook kunnen aanpassen of is dit niet doenbaar??
Greetz
Weetgraag

Geplaatst: 20 nov 2004, 22:25
door Erik
hallo,
Wel puur "programmeerbaar" gezien is dat te doen.In de realiteit echter is het gebruik van timers vaak de oorzaak van fouten.De windows api bevat twee functies
SetTimer() en
KillTimer() deze calls hoef je niet zelf te doen Delphi bevat een component TTimer die deze functies aanroept "achter de schermen" ik heb al eens geprobeer die tekensnelheid te manupuleren maar ik krijg een foutmelding
Code: Selecteer alles
2.1 Date : Sat, 20 Nov 2004 22:15:48 +0100
2.2 Address: 0048FC42
2.3 Module : MYSCRE~1.SCR
2.4 Type : EAccessViolation
2.5 Message: Access violation at address 0048FC42 in module 'MYSCRE~1.SCR'. Read of address 0000031C.
ik geef het zeker niet op omdat het 1 keer fout loopt

maar dat kan nog wat duren voor ik dit aan het werk krijg
Geplaatst: 20 nov 2004, 23:44
door Erik
hallo,
heb al gevonden waar het fout loopt se.Wat ik probeer te doen is de gebruiker de "tekensnelheid" te laten selecteren door een TSpinEdit aan da dialoogvenstertje toe te voegen (een TSpinEdit is zo een editboxke mee aan de uiteinde een pijltje naar boven en onderen om een numerieke waarde op te geven)
omdat de TTimer komponent zich op een ander formulier bevind moet je daarnaar verwijzen met formname.timername.interval :=value en dat veroorzaakt de fout want als ik het interval op 120000 (twee minuten) tekent ie om de twee miuten (zoals zou moeten) als een timed event gebeurt verstuurt windows de message
WM_TIMER die moet je eerst onderscheppen
Code: Selecteer alles
procedure CatchWindowsMessage(var Msg:TMessage);message WM_TIMER;
procedure TMainForm.CatchWindowsMessage(var Msg:TMessage);
begin
UpdateTimerTimer(Self);
end;
ik blijf eraan prullen tot da gaat

Geplaatst: 21 nov 2004, 13:38
door Erik
hallo,
Een ramp mensen.Ik was daaraan bezig en tijdens het testen is men pc vastgelopen al die sourcecode verloren (heb op reset moeten duwen) mja das nu eenmaal iets wat kan gebeuren

als ik twee computers had kon ik den ene gebruiken om te testen en den andere om souce code te schrijven maar ja zo rijk ben ik tot op heden nog niet
ik denk dat ik daarvoor eens wat raad ga vragen aan collega Delphi kenners
Geplaatst: 21 nov 2004, 23:01
door Weetgraag
Een ervaren rot als jij zou dit niet mogen tegenkomen maar ja, wie ben ik om te oordelen.
Ik weet nog èèn van je commentaren bij de opbouw van de Userbase
Back up, Back up en nog eens...
Ik weet zeker dat je er wel een oplossing voor vind.
Greetz
Weetgraag

Geplaatst: 22 nov 2004, 11:18
door ubremoved_539
Erik schreef:als ik twee computers had kon ik den ene gebruiken om te testen en den andere om souce code te schrijven maar ja zo rijk ben ik tot op heden nog niet
Al eens gedacht aan Virtual PC of VMWare ?
Ideaal voor testen te doen... kan je heel eenvoudig images mee bouwen en restoren, zelfs met verschillende versies van het OS.
Geplaatst: 23 nov 2004, 21:59
door Erik
hehe Weetgraag,
de code van de screensaver was niet weg he.Alleen de nieuwe code die voor de "timed" dingen zou moeten zorgen was verdwenen.Ik gebruik voor zulke doeleinden
gexperts dit is een set van Delphi ide experts (voor de mensen die dat niet weten een "expert" is een Delphi ide uitbreiding)onder andere is er een expert "backup project"...
Borland stelt (alleen in de enterprise en professional) versies van Delphi een complete API (application programming interface)ter beschikking met de naam "OpenToolsApi" hiermee kan je zulke experts bouwen
de timed dingen willen voorlopig nog niet werken
