![]() |
Array einem anderen Array zuweisen
Hi @all
Ich habe folgendes Problem: Ich übergebe mittels einer Funktion ein Array und möchte nun dieses Arry in einer lokalen Variable ablegen. Leider erscheint bei mir immer die Fehlermeldung "Incompatible Types" *sniff* Hier der relevante Code: Der Adressen-Record (nur wegen der Vollständigkeit aufgeführt)
Delphi-Quellcode:
der Filter-Record
Tadresse = record
id : integer; veranstalter : Tveranstalter; firma : string; name : string; vorname : string; strasse : string; ort : Tort; anrede : Tanrede; briefanrede : Tanrede; telefon : string; telefax : string; email : string; bemerkungen : string; merker : string; l_kontakt : TDateTime; ins_rg_adresse : boolean; mit_rg_adresse : boolean; probeabzug_adresse : boolean; erfassungsdatum : TDateTime; erfasser : Tuser; mutationsdatum : TDateTime; mutierer : Tuser; end;
Delphi-Quellcode:
das Formular (mit der Funktion)
type
TaddressFilter = record AddressArray : array of Tadresse; activeAddress : integer; end;
Delphi-Quellcode:
die Funktion (mit dem eingentlichen Problem
type
TfrmAdressenFilter = class(TForm) private adressen : array of Tadresse; public function formularShow(all_adressen : array of Tadresse) : TaddressFilter; end;
Delphi-Quellcode:
Was mache ich falsch??? :(
function TfrmAdressenFilter.formularShow(all_adressen : array of Tadresse) : TaddressFilter;
begin SetLength(adressen, length(all_adressen)); // Array übertragen... // Diese Lösung funktionierte, ist aber etwas langsam, aber eben sie funktionierte { for I := 0 to length(all_adressen)-1 do // Iterate begin adressen[I] := all_adressen[I] end; // for } // Mein neuer Lösungsansatz (Delphi-Hilfe macht es auch so)... wäre schneller, bringt aber eben // die Fehlermeldung "incompatible types" adressen := Copy(all_adressen); end; |
Re: Array einem anderen Array zuweisen
Moin Chruttli,
mach Dir einfach zusätzlich einen Typ
Delphi-Quellcode:
und verwende den statt array of TAdresse.
type
TaAdresse = array of TAdresse; BTW: Es wäre ganz sinnvoll, wenn Du Dir noch ein Kürzel (Präfix) ausdenkst, mit dem Du eigene neue Typenbezeichner deklarierst (gilt vor allem bei Klassenbezeichnern), um die Gefahr von Kollisionen mit Typen, z.B. aus Komponenten die Du Dir installierst, zu vermeiden. Bei den Indys wäre das z.B. id, so dass die Typen alle mit Tid anfangen. |
Re: Array einem anderen Array zuweisen
Hmmmm... cool... es funktioniert...
Vielen Dank für dein Tipp :hello: Aber noch eine kleine Frage... Wieso funktioniert es jetzt??? Was ist genau der Unterschied, den es ausmacht :?: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz