Seite: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] .. [34] [35] >> |
Autor |
Mitteilung |
|
verfasst am: 15.08.2004, 15:19 · Edited by: Admin
|
Registrierdatum: 09.01.2004, 11:03
Beiträge: 106
 |
In Zukunft bitte den [code][/code] Tag verwenden (Jim_Raynor)
Hi Jim
Ich wollte gerne wissen ,was es mit der seltsamen Typ-
Deklaration in der GameFigure-Unit auf sich hat.
Du deklarierst TFigureList einfach ohne etwas hinzuzufügen ,benutzt sie aber später beim Constructor für
TGameFigure.
Meine Frage dann ist es doch ncihts anderes ,als ein
TObject .
Warum benutzt du es dann nicht gleich als solches.
Und vor allem was macht das für einen Sinn.
Und warum funktioniert darauf eine Methode ,die nicht dafür Deklariert ist.
Du sagst nämlich :
constructor TGameFigure.Create(List: TGameFigureList);
begin
fNotifyList:=TNotifyList.Create;
fInjuredStatus:=0;
fFirstBeam:=true;
fSeeCount:=0;
fMoving:=false;
fCanBeam:=true;
fFrame:=0;
fFiller:=true;
fList:=List;
fDead:=false;
fImRaumschiff:=true;
fSavedUnit:=nil;
fLastVisible:=false;
fState:=[usReady];
fRemoveSelection:=false;
fLaufExp:=0;
fSchussEXP:=0;
fWay:=TWay.Create;
fWay.SetFigurePtr(Self);
List.AddFigure(Self);
Rec.Figure:=Self;
SendVMessage(vmCreateHintForFigure);
fHintObject:=(Rec.resultObj as TFigureObject);
end;
Obwohl du TGameFigureList so deklarierst :
TGameFigureList = class;
mehr nicht!!!!! |
|
verfasst am: 15.08.2004, 18:17
|
Programmierer
Registrierdatum: 23.08.2003, 19:16
Beiträge: 2261
 |
Schau mal weiter unten in GameFigure dort wirst du die komplette Deklaration von TGameFigureList finden. Dieses nennt man Vorwärtsdeklaration. Alle Typen, die man benutzt müssen vorher bekannt sein.
Schaue mal in der Hilfe nach "forward-Deklarationen, Klassen". So hiess das zumindestens in Delphi 5. Sollte aber in Delphi 6/7 unterm gleichem Stichpunkt zu finden sein. |
|
verfasst am: 15.08.2004, 21:13 · Edited by: Mazet
|
Registrierdatum: 05.08.2004, 19:54
Beiträge: 103
 |
Vorsicht bei Kon-/Destruktoren mit vergessenen inherited-calls, zumindest sehe ich keinen im obigen Codeschnipsel. Dadurch wird der Parentkonstruktor nicht aufgerufen und "ruck-zuck" hat die Objekthierachie eine Knacks weg ;)
Zudem empfehle ich per Assigned() Objekte in Konstruktoren auf Gültigkeit zu prüfen, bevor darauf zugegriffen wird (oben z.B. List.Add...). Die schlimmste Zugriffsverletzung ist die, die in Konstruktoren auftritt, da dies durch Folgefehler ein Applikationskiller ist. |
|
verfasst am: 16.08.2004, 19:18
|
Registrierdatum: 09.01.2004, 11:03
Beiträge: 106
 |
thx |
|
verfasst am: 03.09.2004, 08:31
|
Registrierdatum: 09.01.2004, 11:03
Beiträge: 106
 |
Jim wann initialisierst du die TFigurelistvariable ,die in der ISO-Engine aufgerufen wird.
Denn ich muss ja wissen ,wann ich diese Objecte hinzufügen muss. |
|
verfasst am: 05.09.2004, 17:32
|
Programmierer
Registrierdatum: 23.08.2003, 19:16
Beiträge: 2261
 |
Passiert in der Unit EinsatzIntro. |
|
verfasst am: 02.07.2009, 20:01
|
Grafiker
Registrierdatum: 24.11.2006, 14:22
Beiträge: 568
 |
TGameFigureList
Da steht das T wohl für "Type", "Typen" oder?
Gilt für alle Dateien, oder? |
|
verfasst am: 02.07.2009, 21:38
|
Programmierer, allgemeines
Registrierdatum: 06.06.2004, 17:19
Beiträge: 3186
 |
Ist eine allgemeine Namenskonvention. Alle eigenen Typen sollten mit T beginnen, alle eigenen Pointer mit P, private Eigenschaften mit f ...
Ist zwar nicht zwingend erforderlich, erhöht aber die Übersichtlichkeit. |
|
verfasst am: 03.07.2009, 03:58
|
Grafiker
Registrierdatum: 24.11.2006, 14:22
Beiträge: 568
 |
Ah, vielen Dank, P wuste ich nicht, f sind dann die Funktionen...
OK, ich glaube damit kann ich was anfangen. |
|
verfasst am: 03.07.2009, 14:42
|
Admin, Spielsatz GalWar
Registrierdatum: 31.08.2005, 21:51
Beiträge: 5596
 |
lies nochmal, f hat nichts mit Funktionen zu tun, da geht es um private Eigenschaften... |
|
verfasst am: 27.11.2021, 14:39
|
Registrierdatum: 29.10.2021, 14:57
Beiträge: 763
 |
This is such a great resource that you are providing and you give it away for free. I love seeing blog that understand the value of providing a quality resource for free. "
closet design bakersfield ca " |
|
verfasst am: 22.11.2023, 14:31
|
Registrierdatum: 22.11.2023, 07:10
Beiträge: 275939
 |
|
|
verfasst am: 01.12.2023, 16:08
|
Registrierdatum: 22.11.2023, 07:10
Beiträge: 275939
 |
|
Registrierdatum: 22.11.2023, 07:10
Beiträge: 275939
 |
|
|
verfasst am: 20.01.2024, 21:02
|
Registrierdatum: 22.11.2023, 07:10
Beiträge: 275939
 |
|
|
verfasst am: 20.01.2024, 21:03
|
Registrierdatum: 22.11.2023, 07:10
Beiträge: 275939
 |
|
|
verfasst am: 20.01.2024, 21:04
|
Registrierdatum: 22.11.2023, 07:10
Beiträge: 275939
 |
|
|
verfasst am: 20.01.2024, 21:05
|
Registrierdatum: 22.11.2023, 07:10
Beiträge: 275939
 |
|
|
verfasst am: 20.01.2024, 21:06
|
Registrierdatum: 22.11.2023, 07:10
Beiträge: 275939
 |
|
|
verfasst am: 20.01.2024, 21:07
|
Registrierdatum: 22.11.2023, 07:10
Beiträge: 275939
 |
|
Seite: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] .. [34] [35] >> |