Bonjour
Voila mon probleme
jai un record a plusieurs champ
que je defini dans type
que je defini ensuite dans var
par array[0..300000] du record
voir exemple ci dessous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
type
layer_line= record
 
             nom:string;
             xt:string;
           yt:string;
            zt:string;
             xxt:string;
              yyt:string;
               zzt:string;
               end;
 
 
 
  TForm1 = class(TForm)
    Button1: TButton;
    OpenPictureDialog1: TOpenPictureDialog;
    OpenDialog1: TOpenDialog;
    Memo1: TMemo;
    monbb: TImage;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
       end;
 
var
  Form1: TForm1;
   line:array [0..300000] of layer_line;
 
   l:integer;
implementation
ensuite pour valider un champ je fais
line[1].nom:=....
line[1].xt:=....

ma question est
comment definir un array en virtuel sans donner de valeur la jai mis
300000 car des fois sa sera 10000 ou plus de 300000
jai vu la commande setlength(line,length(line+1) mais sa marche pas
jai des message comme memoire insuffisante


jespere ma voir fait comprendre
merci pour votre aide