Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Problème de mémoire avec BDE


Sujet :

Bases de données Delphi

  1. #1
    Membre actif
    Problème de mémoire avec BDE
    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;

  2. #2
    Membre du Club
    Il faut modifier la config de la BDE je pense, il y a des paramètres SHAREDMEMSIZE et SHAREDMEMLOCATION dans l'onglet Configuration et Système...INIT dans le TreeView.

    Cherche dans ce sens là ...

  3. #3
    Membre actif
    Merci, c'était cela en effet.
    @+
    Machuet

  4. #4
    Membre à l'essai
    salut

    t'as modifie quoi et mis quelles valeurs??

    moi par def j'ai sharedmemlocation a vide et sharedmemsize=2048

###raw>template_hook.ano_emploi###