Bonjour à tous, voilà mon problème. J'ai écrit un petit programme qui modifie une BD PARADOX en réseau en parallèle à un autre programme. Mais voilà quand j'ai mon programme principale qui tourne et que je lance celui-là (code-source ci-dessous), j'ai toujours la même erreur

Mémoire insuffisante pour cette opération
TABLE: C:\.....\BELEG.DB


Quelqu'un peut-il m'aider à trouver mon problème de mémoire, ou me dire ce qui cloche dans mon programme? Car ce n'est pas la mémoire. En effet j'ai 256 MB RAM et quand je lance l'exe, j'en ai seulement 170~ d'utilisée.

Merci d'avance pour votre aide

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
unit test;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls, DBCtrls, DBTables, IniFiles;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    DBComboBox1: TDBComboBox;
    btok: TButton;
    bkCancel: TButton;
    Table1: TTable;
    Table2: TTable;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    Query1: TQuery;
    Session1: TSession;
    procedure FormCreate(Sender: TObject);
    procedure OnDestroy(Sender: TObject);
    procedure bkCancelClick(Sender: TObject);
    procedure btOKClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  temp: string;
  temp2: string;
  query: string;
  prix: string;
  Kennung: Integer;
  DirName: string;
  PrivateName: string;
  AliasName: string;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
var
Ini : TIniFile;
begin
  Ini := TIniFile.Create(ChangeFileExt(Application.ExeName, '.INI'));
  try
    DirName := Ini.ReadString('PARAM','DirName','C:\WINWARE\AUFTRAG\DATEN');
    PrivateName := Ini.ReadString('PARAM','PrivateName','C:\TEMP');
    AliasName := Ini.ReadString('PARAM','AliasName','STANDARD2');
  finally
    Ini.Free;
  end;
  Session1.NetFileDir := DirName;
  ForceDirectories(PrivateName);
    Try
      Session.Privatedir:= PrivateName;
      if not DirectoryExists(Session1.PrivateDir) then
         CreateDir(Session1.PrivateDir);
    except
      MessageDlg('Mauvaise fermeture session précédente ',MtError,[mbOk], 0);
      Halt;
    end;
 
  Session1.Open;
 
  Table1.DatabaseName := AliasName;
  Table2.DatabaseName := AliasName;
  Query1.DatabaseName := AliasName;
  Table1.Open;
  Table2.Open;
  with Table1 do begin
    while not EOF do begin
      DBCombobox1.items.add(FieldByName('Belegnummer').AsString);
      next;
    end;
  end;
end;