AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komponenten über Befehl erstellen

Ein Thema von rawsoul · begonnen am 2. Dez 2006 · letzter Beitrag vom 3. Dez 2006
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von rawsoul
rawsoul

Registriert seit: 29. Okt 2006
Ort: Düsseldorf
249 Beiträge
 
Delphi 2005 Personal
 
#1

Komponenten über Befehl erstellen

  Alt 2. Dez 2006, 19:45
N'Abend zusammen!

Ich sitze zur Zeit an einem Game, welches Komplett über TImage visualisiert wird. In diesem Spiel sollen per Tastendruck neue Images gesetzt werden, immer das gleiche. Ich hatte es erst so gelöst, dass ich die maximale Anzahl von Images außerhalb des sichtbaren Bereiches gesetzt habe und dann über den Tastendruck erst auf die definierte Position gesetzt

Mein alter Informatiklehrer sagte, man könne Instanzen erzeugen... Ich habe es bereits mit create versucht, jedoch verstehe ich die Syntax nicht , und die Delphi Hilfe sagt mir, das Thema sei nicht vorhanden.

Kann mir wer entweder ein konkretes Beispiel für create() zeigen, oder möglicher Weise sogar eine komplett andere Idee vorschlagen?

Liebe Grüße,
Frank.

[edit=SirThornberry]Schreibfehler im Titel korrigiert - Mfg, SirThornberry[/edit]
Frank Dumont
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#2

Re: Komponenter über Befehl erstellen

  Alt 2. Dez 2006, 19:50
Delphi-Quellcode:
var
test: TImage;

....

test := TImage.Create(self);
test.parent := Form1;
test.top := 20;
test.left := 20;
test.picture := ...
Oder guck mal hier: http://www.delphipraxis.net/internal...ct.php?t=91839
  Mit Zitat antworten Zitat
Benutzerbild von rawsoul
rawsoul

Registriert seit: 29. Okt 2006
Ort: Düsseldorf
249 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Komponenter über Befehl erstellen

  Alt 2. Dez 2006, 20:03
Klingt sehr interessant und nachvollziehbar, aber .picture will meinen dateipfad nicht annehmen
Wie habe ich ihn denn zu deklarieren?
Frank Dumont
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#4

Re: Komponenter über Befehl erstellen

  Alt 2. Dez 2006, 20:04
Du musst ein TPicture-Objekt übergeben.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Komponenter über Befehl erstellen

  Alt 2. Dez 2006, 20:09
Test.Picture.LoadFromFile könnte helfen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von rawsoul
rawsoul

Registriert seit: 29. Okt 2006
Ort: Düsseldorf
249 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Komponenter über Befehl erstellen

  Alt 2. Dez 2006, 20:19
Oh ja, das war's, danke

Trotz alledem, ich komme nicht weiter Sorry dass ich euer Forum mit solchen Fragen 'zumülle'...

Nächstes Problem: Angeblich sei die Parent des Images nicht initialisiert worden, zumindest schmiert mir das Programm beim compilen ab. EAccessViolation im Project1.exe sagt er mir...
Frank Dumont
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#7

Re: Komponenter über Befehl erstellen

  Alt 2. Dez 2006, 20:22
Was hast du denn als Parent angegeben?
  Mit Zitat antworten Zitat
Benutzerbild von rawsoul
rawsoul

Registriert seit: 29. Okt 2006
Ort: Düsseldorf
249 Beiträge
 
Delphi 2005 Personal
 
#8

Re: Komponenter über Befehl erstellen

  Alt 2. Dez 2006, 20:22
Wie in deinem Beispiel: Form1
Frank Dumont
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#9

Re: Komponenter über Befehl erstellen

  Alt 2. Dez 2006, 20:23
Heißt dein Formular denn auch Form1? Ansonsten gib mal self an und guck was passiert.
  Mit Zitat antworten Zitat
Benutzerbild von rawsoul
rawsoul

Registriert seit: 29. Okt 2006
Ort: Düsseldorf
249 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Komponenter über Befehl erstellen

  Alt 2. Dez 2006, 20:27
Ja, es heißt Form1. Auch mit self als Parent bekomme ich den gleichen Fehler zurück.

Delphi-Quellcode:
procedure TForm1.keypressTIMERTimer(Sender: TObject);
begin
// helpscreen
  if getAsyncKeyState(vk_f1) < 0 then
  helpimage.visible:=true else
  helpimage.visible:=false;

// marker rechts
  if getasynckeystate(vk_right) < 0 then
    if markerimage.left=768 then markerimage.left:=0 else markerimage.left:=markerimage.left+32;

// marker links
  if getasynckeystate(vk_left) < 0 then
    if markerimage.left=0 then markerimage.left:=768 else markerimage.left:=markerimage.left-32;

// marker hoch
  if getasynckeystate(vk_up) < 0 then
    if markerimage.top=0 then markerimage.top:=448 else markerimage.top:=markerimage.top-32;

// marker runter
  if getasynckeystate(vk_down) < 0 then
    if markerimage.top=448 then markerimage.top:=0 else markerimage.top:=markerimage.top+32;

// cannon setzen
if getasynckeystate(vk_up) < 0 then
    cannon:=timage.create(self); //cannon ist eine globale variable
    cannon.parent:=self;
    cannon.top:=markerimage.top;
    cannon.left:=markerimage.left;
    cannon.picture.loadfromfile('gfx\decal3.bmp');
end;
Frank Dumont
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz