Unterschied zwischen "Dynamic" und "Open"

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

Unterschied zwischen "Dynamic" und "Open"

Beitrag von Komoluna »

Liebes Forum,

In meinem Programm möchte ich ein Stringarray kopieren, ich übergebe es als Parameter, und möchte es dann in ein Record Type kopieren:

Code: Alles auswählen

 
type
 
TAnyRecord = record
 StringArray: array of String;
end;
 
...
 
Function Anything(args: array of String): TAnyRecord;
var
  i: Integer;
begin
  Result.StringArray:=args;     //<-- unit1.pas(279,43) Error: Incompatible types: got "Open Array Of AnsiString" expected "TAnyRecord.Dynamic Array Of AnsiString"
  Setlength(Result.StringArray, Length(args))
  for i:=0 to High(args) do   //Geht, ist aber bei mehrfacher Verwendung zu aufwendig...
    Result.StringArray[i]:=args[i];
end;
 
 
gibt es eine einfachere Methode, oder muss man eine schleife verwenden?

MFG

Komoluna
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

wp_xyz
Beiträge: 5169
Registriert: Fr 8. Apr 2011, 09:01

Re: Unterschied zwischen "Dynamic" und "Open"

Beitrag von wp_xyz »

Deklariere einen Typ TStringArray = array of string und verwende diesen Typen anstelle von "array of string".

Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

Re: Unterschied zwischen "Dynamic" und "Open"

Beitrag von Komoluna »

danke...

P.S.: Dieses Forum ist echt geil...
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

Antworten