Thema: Delphi TEdit in Klasse ?

Einzelnen Beitrag anzeigen

TStringlist

Registriert seit: 1. Dez 2003
360 Beiträge
 
Turbo Delphi für Win32
 
#37

Re: TEdit in Klasse ?

  Alt 10. Mai 2005, 14:11
Zitat von richard_boderich:
@ Tstringlist, das mit der Setprocedure ist mir jetz klar, den meine berechnung steht zwar im construktor drin, wird
aber dann auch nur verwendet bei erstellen des Objects und nicht bei anderen aktionen mit dem bestehenden onject? Habe ich das
richtig verstanden?
Wenn du die Left/Top-Koordinaten des Objektes nur einmal (beim Erstellen) benötigst, reicht eine einmalige Aktion im Constructor natürlich aus. Nur mir fiel dann noch ein, dass du irgendwo vorher ja als Bedingung noch extra schriebst: "4. object ist zur laufzeit verschiebbar". Außerdem, solche Picture-Files namens "Panzer.bmp" und "Fadenkreuz.gif" suggerieren da auch diesbezüglich noch zusätzlich viel Bewegung in deinem Prog. *g*

Übrigens dürfte da auch noch ein Fehler in "Image1MouseDown" sein. Wenn du da den TMapObject-Constructor (Create) aufrufst, dann bekommst du auch sofort einen Pointer auf das dadurch erzeugte Objekt zurück, ...welchen du also noch in der gleichen Anweisung in die Objekt-Liste zu laden hast, oder davor noch in eine andere Variable zwischenspeichern musst.

Dabei könntest du irgendeinem dieser da erzeugten Objekte dann auch gleich noch einen eindeutigen Namen geben (wenn's dafür irgendeinen besonderen Grund gäbe), indem du dessen Pointer dann z.B. einer solchen extra dafür definierten TmapObject-Variablen zuweist, also in etwa so:

Delphi-Quellcode:
var
  KommandoPanzer : TMapObject
  .
  .
  .

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);

Const NamePrefix='Mapobject';
var AMapObject : TMapObject;

begin
  if ssleft in shift then
  begin
    AMapObject := TMapObject.Create(self,X,Y,'Panzer').Name := NamePrefix+inttostr(i); //object erstellen
    Liste.add(AMapObject);
    if bla = blabla then KommandoPanzer := AMapObject;
    ...
  end;
end;
MfG (& Thx ggf.)
  Mit Zitat antworten Zitat