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
    Profil pro
    Inscrit en
    mai 2002
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : mai 2002
    Messages : 246
    Points : 299
    Points
    299
    Par défaut 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
    Profil pro
    Inscrit en
    juin 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 43
    Points : 52
    Points
    52
    Par défaut
    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
    Profil pro
    Inscrit en
    mai 2002
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : mai 2002
    Messages : 246
    Points : 299
    Points
    299
    Par défaut
    Merci, c'était cela en effet.
    @+
    Machuet

  4. #4
    Membre à l'essai
    Inscrit en
    mars 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : mars 2004
    Messages : 17
    Points : 22
    Points
    22
    Par défaut
    salut

    t'as modifie quoi et mis quelles valeurs??

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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème en mémoire avec des tableaux
    Par dword2add dans le forum C++
    Réponses: 3
    Dernier message: 11/11/2007, 14h36
  2. Problème de mémoire avec CvCreateImage
    Par kvarme63 dans le forum OpenCV
    Réponses: 3
    Dernier message: 03/07/2007, 17h44
  3. [GD] Problème de mémoire avec les grandes images en PHP
    Par bodysplash007 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 12/04/2007, 18h02
  4. [VC6]Problème mémoire avec BDE
    Par Vow dans le forum MFC
    Réponses: 5
    Dernier message: 07/10/2005, 12h44
  5. [Crystal Report]Problème de mémoire avec le moteur RDC
    Par sur_uix dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/05/2005, 10h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo