Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Dynamisches Array (https://www.delphipraxis.net/154241-dynamisches-array.html)

Lotus 2. Sep 2010 15:08

AW: Dynamisches Array
 
Es sollen später noch mehr Array's dazukommen, die auch alle mit dieser Procedure funktionieren sollen, von daher der Parameter ;)

Bei nem var-Parameter kollidiere ich dann wieder mit Inkompatible Typen.. ich stell mich gerade doof an glaube ich :-/

Ich bin sogar schon auf die Fehlermeldung gekommen:
[Fehler] Unit1.pas(274): Inkompatible Typen: 'Array' und 'dynamic array'

DeddyH 2. Sep 2010 15:36

AW: Dynamisches Array
 
Das funktioniert nicht?
Delphi-Quellcode:
type TKartenArray = Array of TKarte;

var
KartenGezogen : TKartenArray;

implementation

procedure cardToArray(karte:TKarte; var KartenArray:TKartenArray);
var laenge:integer;
begin
  laenge:=length(KartenArray);
  setLength(KartenArray, laenge+1);
  KartenArray[laenge]:=karte;
end;

Luckie 2. Sep 2010 15:42

AW: Dynamisches Array
 
Warum dieser Umstand und dieses halbherzige OOP? Warum nimmst du keine TObjectList? Damit ersparst du dir das ganze.

Lotus 2. Sep 2010 16:18

AW: Dynamisches Array
 
@Detlef
Compilieren tut er es, aber die Laenge des Arrays bleibt seltsamerweise auf 0.. warum?

Das mit der Objectlist werde ich mal ausprobieren... ich scheu mich vor neuen Sachen ein bisschen *shy*

DeddyH 2. Sep 2010 16:40

AW: Dynamisches Array
 
Woher soll ich denn wissen, warum? Wie rufst Du die Prozedur denn auf?

Lotus 2. Sep 2010 16:50

AW: Dynamisches Array
 
Delphi-Quellcode:
cardToArray(karte,KartenGezogen);
und KartenGezogen ist vom Typ TKartenArray

DeddyH 2. Sep 2010 16:57

AW: Dynamisches Array
 
Bist Du einmal mit dem Debugger durchgesteppt? Wird die Prozedur auch wirklich durchlaufen?

Lotus 2. Sep 2010 17:01

AW: Dynamisches Array
 
Ich hab ne Showmessage in der Procedure drin (steht in dem Forumpost hier nicht drin) und diese gibt mir die Länge an

Delphi-Quellcode:
laenge:=length(KartenArray);
showmessage(inttostr(laenge));
Da das ganze 6x aufgerufen wird, bin ich sicher das die Procedure durchlaufen wird ;-)
Debugger wird also nichts finden..

Ich wollte das jetzt mal mit der TObjectlist machen.. aber ich hab noch recht wenig Erfahrung mit OOP.. die Liste createn hab ich ja geschafft, aber wenn ich jetzt was dazufügen will, brauch ich ja nen Object! Wie mache ich jetzt aus meiner TKarte ein Objekt? Oder anders gefragt, wie füge ich die TKarte in die ObjectList?

DeddyH 2. Sep 2010 17:19

AW: Dynamisches Array
 
Du musst in Zeile 43 aus record class machen :glaskugel:

Lotus 2. Sep 2010 17:25

AW: Dynamisches Array
 
Zeile 42 passte diesmal nicht ganz :-P

Allerdings funktioniert dann die "with .. do" funktion nichtmehr oder? Das wäre ziemlich tödlich :X


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:44 Uhr.
Seite 2 von 4     12 34      

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