IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

[TClientDataSet] Erreur de chargement du fichier MIDAS.DLL


Sujet :

Bases de données Delphi

  1. #1
    Membre confirmé
    Avatar de Manopower
    Inscrit en
    Décembre 2003
    Messages
    516
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 516
    Points : 453
    Points
    453
    Par défaut [TClientDataSet] Erreur de chargement du fichier MIDAS.DLL
    Bonjour j'ai un gros soucis et après de nombreux tests je suis bloqué. Sur certains postent utilisateur les Clientdatasets plantent
    (erreur de chargement du fichier MIDAS.DLL) et sur d'autre ça fonctionne parfaitement.
    Je n'appelle nulle part directement ce midas et je n'avais jamais entendu parler de lui avant...

    ce fichier ce trouve sur C:\Winnt\system32\ et même dans un cas, il est présent sur le poste de l'utilisateur mais ça plante quand même !

    mon bout de code de test :

    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
    CDS1.Active:=false;
     
    CDS1.CreateDataSet;
     
    Debug.lines.add('CDS1 créé');
     
    CDS1.Active:=true;
     
    Debug.lines.add('CDS1 actif');
     
    For NumLigne:=10 Downto 1 do
    begin
     
      CDS1.Insert;
      CDS1.Fields[0].AsString:='Ceci est la ligne de test '+inttostr(Numligne);
      CDS1.Post;
    end;
    Debug.lines.add('Insertion des 10 lignes OK...');
    Merci chers erudits binaires

  2. #2
    Futur Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    ce fichier MIDAS.DLL est un fichier qu'il faut distribuer avec ton application si elle utilise des ClientDataset. Tu peux aussi l'inclure dans ton projet avec un uses midaslib.

  3. #3
    Membre confirmé
    Avatar de Manopower
    Inscrit en
    Décembre 2003
    Messages
    516
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 516
    Points : 453
    Points
    453
    Par défaut
    Merci j'ai essayer le Uses MidasLib; et ça fonctionne très bien !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 19
    Points : 22
    Points
    22
    Par défaut Merci
    Merci, de meme pour moi

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1
    Points : 1
    Points
    1
    Par défaut midas.dll non enregistré
    "ce fichier ce trouve sur C:\Winnt\system32\ et même dans un cas, il est présent sur le poste de l'utilisateur mais ça plante quand même !"

    Il suffit dans ce cas d'enregistrer midas.dll dans la base de registre avec la commande DOS suivante : regsvr32.exe c:/WINDOWS/system32/midas.dll

  6. #6
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    uses MidasLib


    merci, c'est magique !

    testé et approuvé sur Windows 2012 serveur
    Membre éclairé, lol !

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 0
    Points
    0
    Par défaut je l'ai testé moi aussi car j'avais le meme probleme mais maintenant ca marche j'ai ajouté uses MidasLib;
    Citation Envoyé par iubito Voir le message
    uses MidasLib


    merci, c'est magique !

    testé et approuvé sur Windows 2012 serveur

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 0
    Points
    0
    Par défaut
    J'avais le meme probleme que vous mais grasse aà vous j'ai résoulu le probleme
    j'ai ajouté
    uses MidasLib;
    au dessus de implementation
    {$R *.dfm}



    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
    unit FormClientUnit;
     
    interface
     
    uses
      Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DBXDataSnap, IPPeerClient,
      Data.DBXCommon, Vcl.StdCtrls, Vcl.DBCtrls, Vcl.Grids, Vcl.DBGrids,
      Vcl.ExtCtrls, Data.DB, Datasnap.DBClient, Datasnap.DSConnect, Data.SqlExpr;
     
    type
      TForm2 = class(TForm)
        SQLConnection1: TSQLConnection;
        DSProviderConnection1: TDSProviderConnection;
        ClientDataSet1: TClientDataSet;
        DataSource1: TDataSource;
        Panel1: TPanel;
        DBGrid1: TDBGrid;
        DBNavigator1: TDBNavigator;
        CheckBox1: TCheckBox;
        Button1: TButton;
        procedure CheckBox1Click(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form2: TForm2;
     
    implementation
      uses MidasLib;
    {$R *.dfm}
     
    procedure TForm2.Button1Click(Sender: TObject);
    begin
    clientdataset1.ApplyUpdates(-1);
    end;
     
    procedure TForm2.CheckBox1Click(Sender: TObject);
    begin
    clientdataset1.Active:=checkbox1.Checked;
    end;
     
    end.

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    :moinser: pour le déterrage de post
    de plus
    j'ai ajouté
    uses MidasLib;
    au dessus de implementation
    {$R *.dfm}
    si on lit votre code que j'ai du mettre entre balises vous l'avez mis dessous et non dessus
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mai 2008
    Messages : 6
    Points : 7
    Points
    7
    Par défaut MIDAS.DLL
    La question est que mon projet marcher à merveille avant d'ajouter cette ligne 'uses midaslib' je ne comprend pas
    ce qui c'est passé pour que la compilation demande cette unité MIDAS ?

  11. #11
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Ce sujet semble avoir été régulièrement déterré !
    C'est une mauvaise manie !

    Sur un poste où Delphi est installé, la DLL midas.dll est un ActiveX enregistré (c'est automatique durant l'installation de Delphi)
    Ton programme utilisent donc la version de MIDAS.DLL installée lorsque tu développes

    Si tu utilises ton programme sur un poste SANS Delphi, il manque la DLL
    Soit il faut la déployer (Copie du fichier + RegSvr32)
    Soit l'inclusion du binaire via l'unité 'midaslib'

    L'avantage de l'inclusion de midaslib.dcu :
    - Facilite de déploiement
    - Garantie que la version utilisée est parfaitement compatible

    Inconvénient, si l'on a plusieurs EXE ou DLL, cela augmente le volume si chacun embarque la DCU
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

Discussions similaires

  1. [2.x] Erreur sur chargement de fichier
    Par fatenfacebok dans le forum Symfony
    Réponses: 9
    Dernier message: 17/02/2013, 20h26
  2. [Data] erreur au chargement du fichier spring
    Par cascadox dans le forum Spring
    Réponses: 3
    Dernier message: 20/05/2011, 17h36
  3. [Integration] [JUnit] Erreur de chargement du fichier de config Spring
    Par Esil2008 dans le forum Spring
    Réponses: 3
    Dernier message: 18/07/2007, 10h07
  4. erreur de chargement du fichier sprwin.dll
    Par Maman Kakalé Néhémiya dans le forum Sécurité
    Réponses: 8
    Dernier message: 26/09/2006, 13h49

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