DelphiX little Intro/Grafikdemo - 2 Probs - Sourcecode inkl

#1
Hallo!
Ich bin neu hier im Forum und habe 2 Fragen :)
Vorab - ich habe vor 10-15 Jahren sehr intensiv programmiert, zuerst auf dem Amiga, später am PC - immer jedoch in Assembler. Mittlerweile ist Delphi mir nicht grundsätzlich fremd, aber ein Profi bin ich darin nicht. Ich habe mehrere Jahre lang nicht programmiert und mich vor einiger Zeit doch wieder von den Rechner gesetzt um ein bisschen mit Delphi und DirectX rumzuspielen.
Ich möchte gerne ein kleines Intro, also eine kleine Grafikdemo schreiben - bzw. habe dies getan. Siehe hierzu http://www.megaupload.com/?d=M66G1O49 -> Sourcecode + compilierte Exe.
Ich benutze Delphi 7 und DirectX - soweit so gut, allerdings ist mir aufgefallen, dass die compilierte Exe (570 kb) recht groß ist und auch komprimiert (200 kb) echt viel ist. In Windows ASM schaffe ich das locker in 2-3 kb. Ich möchte aber gerne Delphi benutzen - es ist einfach schneller zu entwickeln.
Ich habe mir sagen lassen, dass wen ich die "Forms" weglassen würde, die Größe drastisch weniger wäre. Gibt es den ausser DelphhiX andere Libaries die schlaue Köpfe geschrieben haben, die compiliert einfach etwas kleiner sind?
Ich will jetzt keine Grundsatzdiskussion führen warum die Files klein sein müssen oder nicht ;-)
In meinem Demo will ich einfach nur ein paar Grafikeffekte darstellen. Ich habe mir also einen Virtual Screen angelegt, also ein leeres Array und kann darin rummalen. Ich will keine Hardwarefunktionen oder so nutzen - will also alles händisch machen. Anschließend kopiere ich den Virtual Screen einfach in den Videoram - fertig.
Ich brauche also wirklich nur eine mimimale DirectX Schnittstelle, bzw. funktionen.
Vielleicht gibt es irgendwelche Header schon fertig, die sich nur darauf beschränken?
Ein weiteres Problem ist alt-tab. Beim Drücken ranzt mir die Grafik irgendwie ab und kriege das auch nicht hin, dass ich das abfange. Hat dort jemand eine Idee?
Also vielleicht einfach mal anschauen wer Zeit und Bock hat -> http://www.megaupload.com/?d=M66G1O49.
Auf den Punkt gebracht:
1) Ich benutze Delphi7+DelphiX. Gibt es etwas besseres und KLEINERES (Header?) um Grafik mit Delphi im Fullscreen UND Window Mode darzustellen?
2) Alt-Tab macht meine Grafik kaputt - was soll ich tun.
Ich weiß ich bin anspruchsvoll aber auch ein bisschen lame. Es hilft mit eine Zeile Code of mehr als die Aussage -> benutz mal die Surface.IsLost funktion o.ä.
Das hat nichts mit Faulheit zu tun, aber ich bin wie gesagt nicht SO fit in Delphi oder DirectX. Ich kann gut mit Assembler umgehen, aber das wars auch schon :)
Vielen Dank,
SebX

PS:
Ich hab mein Anliegen auch schon in einem englischsprachigen Forum gepostet. Hier meine Originale Message:
Hallo everyone!
I am new to the forum and i've 2 questions.
about 10-15 years ago I used to program intros and little graphics demos on the commodore amiga and later on pc (under dos) too. I always used assembler (my prefered languange) but delphi is not totally unknown. Just for fun i wanted to code an intro again and tried to used delphi for it, since nobody seems to use asm+directx anymore :)
I installed Delphi 7 and the DelphiX package and started a little project. The sourcecode and a compiled exe can be found -> http://www.megaupload.com/?d=M66G1O49.
In my intro i just want to set a video mode (in my case 1024x768x32) and create a "Virtual Screen", that means an array which is 1024x768x4 bytes big.
In this array i can draw and do whatever I want - I know what you think, but i dont want to use any functions like circle, line, fillvector or whatever - i dont want to use system sided 2d/3d functions.
After I have finished my drawing in the "Virtual Screen" i just want to copy that to the video ram.
For that I used the DirectX Timer function.
In the Sourcecode/Intro you can press space to toggle fullscreen/window mode and f1 to see the current FPS.
Everything works fine so fast but now my 2 problems:
1)
the compiled exec is very big. its compressed about 180 kb for alteast no effect.
in pure assembler it would be 2-3 kb not more. is there a possibility to used delphi with directx without making such big files?
i was told that there are pure direct-x header and that delphix is so big because it uses "forms".
can somebody tell/explain/rewrite my source that the compiled and compressed exec will be smaller?
As said i only need the basic functions like setting a video mode and copying a virtual screen to the video ram.
2)
In my intro you can switch using spacebar between fullscreen/window mode.
when i press alt-tab and go back while iam in fullscreen mode everything is screwed.
is there a way to avoid that?
thanks alot everyone for reading this and giving me your time.
I am fear that i'm a little bit lame but i did not programmed for really a long time and i am not used to directx nor i am professional in delphi.
for me its the easiest way to read and understand some lines of code, its difficult when you tell me: use surface.islost function or something,
easier would be a code line example :)
thanks again,
seb.
sourcecode attached:
http://www.megaupload.com/?d=M66G1O49
 

Anhänge

Firefall

Well-Known Member
c-b Experte
#2
Also bei mir (Windows 7, Auflösung 1080p) kommt nur n weisses Rechteck etwas rechts von der Mitte. Bei Mausklick geht's dann zu. Ist das dein "Demo" oder funktionierts bei mir nicht?
 
Oben