AGB  ·  Datenschutz  ·  Impressum  







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

TImage im Array -> Erstellen ?

Ein Thema von k4ni · begonnen am 20. Mai 2008 · letzter Beitrag vom 20. Mai 2008
Antwort Antwort
k4ni

Registriert seit: 17. Jul 2007
Ort: Ulm
258 Beiträge
 
Delphi 7 Enterprise
 
#1

TImage im Array -> Erstellen ?

  Alt 20. Mai 2008, 11:41
Hallo,

Ich hab hier folgenden code:
Delphi-Quellcode:
          Players[iplayers].playerimg := Timage.Create(Form2);
          Players[iplayers].playerimg.Visible := true;
          Players[iplayers].playerimg.Transparent := false;
          Players[iplayers].playerimg.Width := 49;
          Players[iplayers].playerimg.Height := 49;
          Players[iplayers].playerimg.top := 360;
          Players[iplayers].playerimg.left := 8;
Wie ihr seht erstell ich ein image auf Form2. Doch diese wird nicht angezeigt.
Ich denke es liegt nicht an meinem code, sondern das man noch irgendwas machen muss, damit es auch angezeigt wird, oder?


danke im vorraus!
k4ni
  Mit Zitat antworten Zitat
delphimaedel
(Gast)

n/a Beiträge
 
#2

Re: TImage im Array -> Erstellen ?

  Alt 20. Mai 2008, 11:44
Hst du im Menü alle Befehle umgestellt??

... nicht zu danken.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: TImage im Array -> Erstellen ?

  Alt 20. Mai 2008, 11:45
Es fehlt die Zuweisung des Parent.
Markus Kinzler
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#4

Re: TImage im Array -> Erstellen ?

  Alt 20. Mai 2008, 11:46
Zitat von k4ni:
Hallo,

Ich hab hier folgenden code:
Delphi-Quellcode:
          Players[iplayers].playerimg := Timage.Create(Form2);
          Players[iplayers].playerimg.Visible := true;
          Players[iplayers].playerimg.Transparent := false;
          Players[iplayers].playerimg.Width := 49;
          Players[iplayers].playerimg.Height := 49;
          Players[iplayers].playerimg.top := 360;
          Players[iplayers].playerimg.left := 8;
Wie ihr seht erstell ich ein image auf Form2. Doch diese wird nicht angezeigt.
Ich denke es liegt nicht an meinem code, sondern das man noch irgendwas machen muss, damit es auch angezeigt wird, oder?


danke im vorraus!
k4ni
Delphi-Quellcode:
Players[iplayers].playerimg := Timage.Create(Form2);
Players[iplayers].playerimg.Parent := Form2;
Und nicht vergessen, am Schluss alles wieder freizugeben.
  Mit Zitat antworten Zitat
k4ni

Registriert seit: 17. Jul 2007
Ort: Ulm
258 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: TImage im Array -> Erstellen ?

  Alt 20. Mai 2008, 11:47
Zitat von delphimaedel:
Hst du im Menü alle Befehle umgestellt??

... nicht zu danken.

Öhhm, welche befehle?
Sorry, hab noch nie mit dynamischen komponenten gearbeitet

@Nuclear-Ping: Danke vielmals!
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: TImage im Array -> Erstellen ?

  Alt 20. Mai 2008, 14:02
Zitat von Nuclear-Ping:
Und nicht vergessen, am Schluss alles wieder freizugeben.
Das Formular als Owner der Objekte überimmt dies schon. Machst de es zusätzlich manuell, kauf dir schon mal einen Exception-Regenschirm

Manche Controls bieten ausserdem den überladenen Konstruktor "CreateParented", der den Parent gleich mit setzt. Bei TImage ist das jedoch nicht der Fall.

Aus deinem Code scheint mir aber generell die Verwendung von so vielen TImages als unsinnig, was aber gern von Einsteigern so betrieben wird. Nimm lieber eine Reihe von TBitmaps, und zeichne sie auf ein Hier im Forum suchenOffscreen Bitmap, welches du dann in einem einzigen TImage anzeigst. Ist performanter, sauberer und flexibler.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: TImage im Array -> Erstellen ?

  Alt 20. Mai 2008, 14:05
Zitat von Medium:
Das Formular als Owner der Objekte überimmt dies schon. Machst de es zusätzlich manuell, kauf dir schon mal einen Exception-Regenschirm
Das Objekt meldet sich beim freigeben ordnungsgemäß beim Owner ab, so dass da keine Exception kommt.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: TImage im Array -> Erstellen ?

  Alt 20. Mai 2008, 14:13
Ist das schon bei D7 der Fall? Weil ich bin in meinen Anfängen da gelegentlich mit auf die Nase gefallen. Welcher Vorfahre implementiert dieses Verhalten? Weil ich erinnere mich dunkel daran, dass es einen guten Grund gibt, weshalb ich dynamisch erstellte Komponenten tunlichst nicht manuell wieder freigebe - das schwirrt mir im Hinterkopf rum

Selbst wenn es aber nun möglich ist, ist es zumindest nicht zwingend nötig. Lässt sich drüber streiten, was stilistisch die gefälligere Variante ist. Auf der einen Seite gilt: Gibt frei, was du selber erzeugst. Auf der anderen Seite gibt es die Konvention, dass ein Owner alle seine "Untertanen" automatisch mit frei gibt.

Interessant wirds ja auch bei nicht-Komponenten. Soll ich eine TObjectList als Owner auftreten lassen, oder von Hand dran gehen - vorausgesetzt ich habe strukturell beide Möglichkeiten, so dass es reine Kosmetik wäre. Aber bla, das ist etwas OT. Hab heut meinen Philosophischen
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:38 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