AGB  ·  Datenschutz  ·  Impressum  







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

Erste Schritte mit Klassen - Wer hilft?

Ein Thema von Nonsense · begonnen am 6. Nov 2003 · letzter Beitrag vom 7. Nov 2003
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Nonsense
Nonsense

Registriert seit: 23. Nov 2002
389 Beiträge
 
Delphi 5 Standard
 
#11

Re: Erste Schritte mit Klassen - Wer hilft?

  Alt 6. Nov 2003, 22:07
Mhh, dann würde ja mein Beispiel gar nicht funktionieren. Immerhin sollen sich ja mehrer Objekte gleichzeitig und an unterschiedlichen Positionen bewegen.
Und funktioniert denn kein
constructor Create(AParent: TObject); ?

Das ganze kombiniert mit
Delphi-Quellcode:
constructor TSquare.Create(AParent: TObject);
begin
 inherited Create();
 [...]
end;
Hab es jetzt nicht getestet, ich geh ja sowieso nur vom theoretischen Standpunkt aus.

Edit: Habs nochmal überarbeitet. Er gibt mir jedenfalls keine Fehler mehr aus.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Erste Schritte mit Klassen - Wer hilft?

  Alt 6. Nov 2003, 22:25
Moin Nonsense,

wenn Du verschiedene Objekte gleichzeitig benötigst, und ansprechen willst, musst Du diese auch alle irgendwo speichern.
Sei es nun in einzelnen Variablen, in einem Array, einer TList, oder was einem sonst noch so einfällt.

constructor Create(AParent: TObject); kannst Du natürlich schreiben, die Frage ist jetzt halt, was Du damit bezweckst.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Nonsense
Nonsense

Registriert seit: 23. Nov 2002
389 Beiträge
 
Delphi 5 Standard
 
#13

Re: Erste Schritte mit Klassen - Wer hilft?

  Alt 6. Nov 2003, 22:39
Dass wird so nix, wie ich mir das vorstelle.
Irgendwie hatte das damals geklappt, wie gesagt, aber mit DelphiX.
Hatte den Code mal von einer alten Sicherungs-CD rausgekramt, und:
Delphi-Quellcode:
 
TPlayer = class(TImageSprite)
private
 Mode: Integer;
 [...]
protected
 procedure Collision(Sprite: TSprite; var Done: Boolean); override;
 procedure Move(MoveCount: Integer); override;
public
 constructor Create(AParent: TSprite ); override;
end;

TPlayerShoot = class(TImageSprite)
private
 Player: TPlayer;
protected
 procedure Collision(Sprite: TSprite; var Done: Boolean); override;
 procedure Move(MoveCount: Integer); override;
public
 constructor Create(AParent: TSprite); override;
 destructor Destroy; override;
end;
Naja, irgendwie wird das mit meinem Wischwasch nix.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#14

Re: Erste Schritte mit Klassen - Wer hilft?

  Alt 7. Nov 2003, 07:12
Hallo Nonsense,

Christian hat dir doch schon einige Hinweise gegeben, wie es funktioniert.
Was ist denn genau dein Problem?

Du kannst beliebig viele Instanzen eines Klasse erstellen. Lediglich der verfügbare Speicherplatz ist eine Grenze. Wenn du auf diese Objekte zugreifen willst, benötigst du eine Struktur (z.B. ein Array oder eine Liste), um auf die Objekte ansprechen zu können. Du willst ja z.B. die Position ändern oder den Zustand. Das mit dem Freigeben hat Christian ja auch schon erklärt. Grundsätzlich bist du selbst dafür verantwortlich (auch dazu benötigst du ein Zugriff auf das freizugebende Objekt).

Bestimmte Basisklassen haben aber bereits eine Eigenschaft Owner (z.B. TComponent), diese kannst du setzen, dann kümmert sich der Owner um die Freigabe. TObject kennt einen solchen Mechanismus noch nicht. Was du dir also als erstes überlegen musst, ist, von welcher Basisklasse du deine neue Klasse ableiten willst. Benötigst du kein Windowshandle, solltest du TGraphicControl nutzen.

Code:
TNonsenseSeineShooterClass = Class(TGraphiControl)
...
Jetzt müsstest du doch schon einen Schritt weiter kommen, oder?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Nonsense
Nonsense

Registriert seit: 23. Nov 2002
389 Beiträge
 
Delphi 5 Standard
 
#15

Re: Erste Schritte mit Klassen - Wer hilft?

  Alt 7. Nov 2003, 07:22
Danke @ MrSpock:
Ja, eigentlich schon. Ich hatte mir die ganze Beschreibung auf Delphi-Source mittlerweile schon ein viertes mal durchgelesen und langsam kommt Licht in die Sache.
Irgendwie klammere ich mich aber noch zu sehr an die Umsetzung von DelphiX.
Um mal wieder auf mein Beispiel zurück zu kommen: Nehmen wir an, ich speichere jetzt die einzelnen Daten in einem Array, kann ich dann eigentlich allg. überprüfen ob irgendeine Instanz der Klasse die rote Linie überquert hat?
Ich meine, es wäre ja umständlich jede einzelne Instanz abzufragen.
Oder geht das auch nicht?
  Mit Zitat antworten Zitat
Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#16

Re: Erste Schritte mit Klassen - Wer hilft?

  Alt 7. Nov 2003, 08:39
Alternativ zu Delphi-Source kann ich dir noch meine Ausarbeitung zu OOP mit Delphi anbieten - vielleicht hift sie dir ein bisschen weiter: www.x-spy.net/personal
Manuel Pöter
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#17

Re: Erste Schritte mit Klassen - Wer hilft?

  Alt 7. Nov 2003, 08:55
Hallo Nonsense,

wenn du Objekte bewegen willst, musst du ja für jede zu bewegende Instanz eine Methode z.B. Move aufrufen. Diese hätte die Aufgabe, die neue Position zu errechnen und dabei auch zu prüfen, ob die rote Linie überschritten wird.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Nonsense
Nonsense

Registriert seit: 23. Nov 2002
389 Beiträge
 
Delphi 5 Standard
 
#18

Re: Erste Schritte mit Klassen - Wer hilft?

  Alt 7. Nov 2003, 12:35
@Motzi: Der Server scheint down zu sein.

@MrSpock: Ja, so habe ich mir das ja auch von Anfang an gedacht. So das die jeweilige Instanz die procedure erbt. Sprich: Die Instanz wird erstellt und per procedure bewegt.
  Mit Zitat antworten Zitat
Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#19

Re: Erste Schritte mit Klassen - Wer hilft?

  Alt 7. Nov 2003, 14:37
Zitat von Nonsense:
@Motzi: Der Server scheint down zu sein.
Also bei mir funktioniert es problemlos..!
Manuel Pöter
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 05:22 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