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:
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;
der Filter-Record
Delphi-Quellcode:
type
TaddressFilter = record
AddressArray : array of Tadresse;
activeAddress : integer;
end;
das Formular (mit der Funktion)
Delphi-Quellcode:
type
TfrmAdressenFilter = class(TForm)
private
adressen : array of Tadresse;
public
function formularShow(all_adressen : array of Tadresse) : TaddressFilter;
end;
die Funktion (mit dem eingentlichen Problem
Delphi-Quellcode:
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;
Was mache ich falsch???