Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi dyn. Array als Var-Parameter lässt sich nicht bearbeiten (https://www.delphipraxis.net/58456-dyn-array-als-var-parameter-laesst-sich-nicht-bearbeiten.html)

gordon freeman 7. Dez 2005 10:12


dyn. Array als Var-Parameter lässt sich nicht bearbeiten
 
Hi Leute, ich habe mir folgendes gebastelt:

Delphi-Quellcode:
procedure TZeichenfinder.SucheZeichen(pBild:TBitmap;var Zeichen: array of TZeichen);
begin
  setlength(Zeichen,0); //<- Hier kommt der Fehler
//(...)
end;
An der Stelle bekomme ich den Fehler:

Zitat:

Zitat von Delphi
Inkompatible Typen

Aber Setlength verlangt doch einen String, bzw. einen dynamischen Array und einen Integer oder? :gruebel:

tia, mfg, gordon

Klaus01 7. Dez 2005 12:30

Re: dyn. Array als Var-Parameter lässt sich nicht bearbeiten
 
Hallo,

vielleicht hilft Dir das weiter?

Grüße
Klaus

TYPE
TZeichen = RECORD
bla: char;
fasel : Integer;
END;

AZeichen = Array of TZeichen;

var
Form1: TForm1;

implementation

{$R *.dfm}

PROCEDURE zeichenFinder(var zeichen:AZeichen);
BEGIN
setlength(zeichen,0);
END;

Flocke 7. Dez 2005 12:53

Re: dyn. Array als Var-Parameter lässt sich nicht bearbeiten
 
Wie Klaus01 geschrieben hat hilft's wahrscheinlich schon, wenn du die Typdeklaration einfach aus der Parameterliste rausnimmst:

Delphi-Quellcode:
type
  TZeichenArray = Array of TZeichen;

procedure TZeichenfinder.SucheZeichen(pBild:TBitmap;var Zeichen: TZeichenArray);
begin
  setlength(Zeichen,0); //<- Hier kommt der Fehler
//(...)
end;

gordon freeman 7. Dez 2005 13:55

Re: dyn. Array als Var-Parameter lässt sich nicht bearbeiten
 
Konnte es noch nicht im Zusammenhang testen, aber die Fehlermeldung bleibt schon mal aus.
DANKE!

:dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 Uhr.

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