Données, métiers, interfaces, et les joies du 3/3...

Le
Jean-Francis OCHS
Bonjour,

Je me mets tout doucement à COM pour développer des applications 3/3

J'ai compris les systèmes de développement de base interface, couche métier,
couche données par contre, la moindre interface qui fait appel à une de
mes couches métier puis données prends tout de suite 9 Mo en mémoireet
cela pour un piti recordset de 3 lignesalors je me dis que j'ai fait une
connerie quelque part

1. Comment faire en sorte de diminuer la charge mémoire lors e l'utilisation
de composants ?
2. Que dois je utiliser pour faire en sorte que ma couche données reste
chargée en mémoire une fois initialisée ( càd faire en sorte d'utiliser une
seule instance de ma classe de données polutôt que de la reloader à chaque
fois)

Si il faut que je sois plus clair, hésitez pas

Merci d'avance





Message envoyé ne contenant aucun virus connu.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003
Vos réponses
Trier par : date / pertinence
Crevecoeur Jérôme
Le #12831971
Bonjour,
Vous trouverez à cette adresse
http://rp.developpez.com/vb/tutoriels/troistiers/

un tutorial sur une architecture trois tiers.

Peut-etre que cet exemple vous permetra d'y voir plus clair.
Votre objet de donnée, vous le déclarant en global dans l'application?
Libérez vous bien toute la mémoire aprés son utilisation?


Cordialement
--
----------------------------------------------------------------------------
--------------------
Crévecoeur Jérôme

ACS INFORMATIQUE
122,rue du Château d'orgemont
49000 ANGERS
Tel: 02 41 68 42 36 Fax: 02 41 68 42 48
----------------------------------------------------------------------------
---------------------
"Jean-Francis OCHS" news:%
Bonjour,

Je me mets tout doucement à COM pour développer des applications 3/3...

J'ai compris les systèmes de développement de base interface, couche


métier,
couche données... par contre, la moindre interface qui fait appel à une de
mes couches métier puis données prends tout de suite 9 Mo en mémoire...et
cela pour un piti recordset de 3 lignes...alors je me dis que j'ai fait


une
connerie quelque part...

1. Comment faire en sorte de diminuer la charge mémoire lors e


l'utilisation
de composants ?
2. Que dois je utiliser pour faire en sorte que ma couche données reste
chargée en mémoire une fois initialisée ( càd faire en sorte d'utiliser


une
seule instance de ma classe de données polutôt que de la reloader à chaque
fois)

Si il faut que je sois plus clair, hésitez pas...

Merci d'avance...




---
Message envoyé ne contenant aucun virus connu.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003




Jean-Francis OCHS
Le #12831961
C'est le tutoriel que j'ai utilisé pour génerer mon application...
J'ai vraiment employé le même principe...

Alors je comprends pas...

Voici le schéma simplifié exact de mon application :

Couche donnée --> Pâle copie du tutoriel avec une fonction rajoutée qui me
renvoie la valeur maximale d'une clé dans une table..

Couche métier --> deux fonctions : -> récupération d'un recordset ( 3
upplets de 6 colonnes )
-> Récupération de
la valeur maximale d'une clé
Interface : Création De l'objet métier par CreateObject --> Taille du prog
compilé 20ko --> taille en mémoire 9 Mo !!!


En plus, je souhaiterais que ma couche données soit résidente... un
chargement unique.


"Crevecoeur Jérôme" news:
Bonjour,
Vous trouverez à cette adresse
http://rp.developpez.com/vb/tutoriels/troistiers/

un tutorial sur une architecture trois tiers.

Peut-etre que cet exemple vous permetra d'y voir plus clair.
Votre objet de donnée, vous le déclarant en global dans l'application?
Libérez vous bien toute la mémoire aprés son utilisation?


Cordialement
--
--------------------------------------------------------------------------


--
--------------------
Crévecoeur Jérôme

ACS INFORMATIQUE
122,rue du Château d'orgemont
49000 ANGERS
Tel: 02 41 68 42 36 Fax: 02 41 68 42 48
--------------------------------------------------------------------------


--
---------------------
"Jean-Francis OCHS" news:%
> Bonjour,
>
> Je me mets tout doucement à COM pour développer des applications 3/3...
>
> J'ai compris les systèmes de développement de base interface, couche
métier,
> couche données... par contre, la moindre interface qui fait appel à une


de
> mes couches métier puis données prends tout de suite 9 Mo en


mémoire...et
> cela pour un piti recordset de 3 lignes...alors je me dis que j'ai fait
une
> connerie quelque part...
>
> 1. Comment faire en sorte de diminuer la charge mémoire lors e
l'utilisation
> de composants ?
> 2. Que dois je utiliser pour faire en sorte que ma couche données reste
> chargée en mémoire une fois initialisée ( càd faire en sorte d'utiliser
une
> seule instance de ma classe de données polutôt que de la reloader à


chaque
> fois)
>
> Si il faut que je sois plus clair, hésitez pas...
>
> Merci d'avance...
>
>
>
>
> ---
> Message envoyé ne contenant aucun virus connu.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003
>
>






---
Message envoyé ne contenant aucun virus connu.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003
Jean-Francis OCHS
Le #12831821
Vi...mais ça règle pas mon problème :)

lol


"Bismark Prods" news:OAJPJ$
C'est marrant cette architecture de gestion des données me fait


furieusement
penser à l'architecture utilisée en PHP. Avec les include('clsData.php');
etc....

lol

"Jean-Francis OCHS" news:%
> C'est le tutoriel que j'ai utilisé pour génerer mon application...
> J'ai vraiment employé le même principe...
>
> Alors je comprends pas...
>
> Voici le schéma simplifié exact de mon application :
>
> Couche donnée --> Pâle copie du tutoriel avec une fonction rajoutée qui


me
> renvoie la valeur maximale d'une clé dans une table..
>
> Couche métier --> deux fonctions : -> récupération d'un recordset ( 3
> upplets de 6 colonnes )
> -> Récupération
de
> la valeur maximale d'une clé
> Interface : Création De l'objet métier par CreateObject --> Taille du


prog
> compilé 20ko --> taille en mémoire 9 Mo !!!
>
>
> En plus, je souhaiterais que ma couche données soit résidente... un
> chargement unique.
>
>
> "Crevecoeur Jérôme" de
> news:
> > Bonjour,
> > Vous trouverez à cette adresse
> > http://rp.developpez.com/vb/tutoriels/troistiers/
> >
> > un tutorial sur une architecture trois tiers.
> >
> > Peut-etre que cet exemple vous permetra d'y voir plus clair.
> > Votre objet de donnée, vous le déclarant en global dans l'application?
> > Libérez vous bien toute la mémoire aprés son utilisation?
> >
> >
> > Cordialement
> > --
>

--------------------------------------------------------------------------
> --
> > --------------------
> > Crévecoeur Jérôme
> >
> > ACS INFORMATIQUE
> > 122,rue du Château d'orgemont
> > 49000 ANGERS
> > Tel: 02 41 68 42 36 Fax: 02 41 68 42 48
>

--------------------------------------------------------------------------
> --
> > ---------------------
> > "Jean-Francis OCHS"

de
> > news:%
> > > Bonjour,
> > >
> > > Je me mets tout doucement à COM pour développer des applications
3/3...
> > >
> > > J'ai compris les systèmes de développement de base interface, couche
> > métier,
> > > couche données... par contre, la moindre interface qui fait appel à
une
> de
> > > mes couches métier puis données prends tout de suite 9 Mo en
> mémoire...et
> > > cela pour un piti recordset de 3 lignes...alors je me dis que j'ai
fait
> > une
> > > connerie quelque part...
> > >
> > > 1. Comment faire en sorte de diminuer la charge mémoire lors e
> > l'utilisation
> > > de composants ?
> > > 2. Que dois je utiliser pour faire en sorte que ma couche données
reste
> > > chargée en mémoire une fois initialisée ( càd faire en sorte
d'utiliser
> > une
> > > seule instance de ma classe de données polutôt que de la reloader à
> chaque
> > > fois)
> > >
> > > Si il faut que je sois plus clair, hésitez pas...
> > >
> > > Merci d'avance...
> > >
> > >
> > >
> > >
> > > ---
> > > Message envoyé ne contenant aucun virus connu.
> > > Checked by AVG anti-virus system (http://www.grisoft.com).
> > > Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003
> > >
> > >
> >
> >
>
>
> ---
> Message envoyé ne contenant aucun virus connu.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003
>
>






---
Message envoyé ne contenant aucun virus connu.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003
Bismark Prods
Le #12831781
tu dis que tu as suivi a la lettre l'exemple soumis par Jérome ?

je vais aussi suivre exactement et je te redis si ca donne le meme résultat
que chez toi ok ?

"Jean-Francis OCHS" news:
Vi...mais ça règle pas mon problème :)

lol


"Bismark Prods" news:OAJPJ$
> C'est marrant cette architecture de gestion des données me fait
furieusement
> penser à l'architecture utilisée en PHP. Avec les


include('clsData.php');
> etc....
>
> lol
>
> "Jean-Francis OCHS" > news:%
> > C'est le tutoriel que j'ai utilisé pour génerer mon application...
> > J'ai vraiment employé le même principe...
> >
> > Alors je comprends pas...
> >
> > Voici le schéma simplifié exact de mon application :
> >
> > Couche donnée --> Pâle copie du tutoriel avec une fonction rajoutée


qui
me
> > renvoie la valeur maximale d'une clé dans une table..
> >
> > Couche métier --> deux fonctions : -> récupération d'un recordset ( 3
> > upplets de 6 colonnes )
> > -> Récupération
> de
> > la valeur maximale d'une clé
> > Interface : Création De l'objet métier par CreateObject --> Taille du
prog
> > compilé 20ko --> taille en mémoire 9 Mo !!!
> >
> >
> > En plus, je souhaiterais que ma couche données soit résidente... un
> > chargement unique.
> >
> >
> > "Crevecoeur Jérôme"

message
> de
> > news:
> > > Bonjour,
> > > Vous trouverez à cette adresse
> > > http://rp.developpez.com/vb/tutoriels/troistiers/
> > >
> > > un tutorial sur une architecture trois tiers.
> > >
> > > Peut-etre que cet exemple vous permetra d'y voir plus clair.
> > > Votre objet de donnée, vous le déclarant en global dans


l'application?
> > > Libérez vous bien toute la mémoire aprés son utilisation?
> > >
> > >
> > > Cordialement
> > > --
> >
>

--------------------------------------------------------------------------
> > --
> > > --------------------
> > > Crévecoeur Jérôme
> > >
> > > ACS INFORMATIQUE
> > > 122,rue du Château d'orgemont
> > > 49000 ANGERS
> > > Tel: 02 41 68 42 36 Fax: 02 41 68 42 48
> >
>

--------------------------------------------------------------------------
> > --
> > > ---------------------
> > > "Jean-Francis OCHS"

message
de
> > > news:%
> > > > Bonjour,
> > > >
> > > > Je me mets tout doucement à COM pour développer des applications
> 3/3...
> > > >
> > > > J'ai compris les systèmes de développement de base interface,


couche
> > > métier,
> > > > couche données... par contre, la moindre interface qui fait appel


à
> une
> > de
> > > > mes couches métier puis données prends tout de suite 9 Mo en
> > mémoire...et
> > > > cela pour un piti recordset de 3 lignes...alors je me dis que j'ai
> fait
> > > une
> > > > connerie quelque part...
> > > >
> > > > 1. Comment faire en sorte de diminuer la charge mémoire lors e
> > > l'utilisation
> > > > de composants ?
> > > > 2. Que dois je utiliser pour faire en sorte que ma couche données
> reste
> > > > chargée en mémoire une fois initialisée ( càd faire en sorte
> d'utiliser
> > > une
> > > > seule instance de ma classe de données polutôt que de la reloader


à
> > chaque
> > > > fois)
> > > >
> > > > Si il faut que je sois plus clair, hésitez pas...
> > > >
> > > > Merci d'avance...
> > > >
> > > >
> > > >
> > > >
> > > > ---
> > > > Message envoyé ne contenant aucun virus connu.
> > > > Checked by AVG anti-virus system (http://www.grisoft.com).
> > > > Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003
> > > >
> > > >
> > >
> > >
> >
> >
> > ---
> > Message envoyé ne contenant aucun virus connu.
> > Checked by AVG anti-virus system (http://www.grisoft.com).
> > Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003
> >
> >
>
>


---
Message envoyé ne contenant aucun virus connu.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003




Bismark Prods
Le #12831771
alors je te confirme que chez moi aussi ca grimpe de 5 à 9 Mo meme sans base
de donnée ! J'ai fait le projet à l'identique de l'exemple, mais je n'ai pas
créer la base de donnée donc ca génère une erreur ! Mais cela fait néanmoins
passer à 9 Mo. Donc ton problème n'en est pas un en rapport avec la taille
de la base ! Je pense qu'il s'agit de la mise en mémoire des éléments qui se
trouve dans les DLL ! peut-etre y a-t-il des éléments qui n'ont pas été
déchargés correctement apres leur exécution ! A mon avis c'est une affaire
d'optimisation uniquement.


"Bismark Prods" news:
tu dis que tu as suivi a la lettre l'exemple soumis par Jérome ?

je vais aussi suivre exactement et je te redis si ca donne le meme


résultat
que chez toi ok ?

"Jean-Francis OCHS" news:
> Vi...mais ça règle pas mon problème :)
>
> lol
>
>
> "Bismark Prods" > news:OAJPJ$
> > C'est marrant cette architecture de gestion des données me fait
> furieusement
> > penser à l'architecture utilisée en PHP. Avec les
include('clsData.php');
> > etc....
> >
> > lol
> >
> > "Jean-Francis OCHS"

de
> > news:%
> > > C'est le tutoriel que j'ai utilisé pour génerer mon application...
> > > J'ai vraiment employé le même principe...
> > >
> > > Alors je comprends pas...
> > >
> > > Voici le schéma simplifié exact de mon application :
> > >
> > > Couche donnée --> Pâle copie du tutoriel avec une fonction rajoutée
qui
> me
> > > renvoie la valeur maximale d'une clé dans une table..
> > >
> > > Couche métier --> deux fonctions : -> récupération d'un recordset


( 3
> > > upplets de 6 colonnes )
> > > ->


Récupération
> > de
> > > la valeur maximale d'une clé
> > > Interface : Création De l'objet métier par CreateObject --> Taille


du
> prog
> > > compilé 20ko --> taille en mémoire 9 Mo !!!
> > >
> > >
> > > En plus, je souhaiterais que ma couche données soit résidente... un
> > > chargement unique.
> > >
> > >
> > > "Crevecoeur Jérôme" message
> > de
> > > news:
> > > > Bonjour,
> > > > Vous trouverez à cette adresse
> > > > http://rp.developpez.com/vb/tutoriels/troistiers/
> > > >
> > > > un tutorial sur une architecture trois tiers.
> > > >
> > > > Peut-etre que cet exemple vous permetra d'y voir plus clair.
> > > > Votre objet de donnée, vous le déclarant en global dans
l'application?
> > > > Libérez vous bien toute la mémoire aprés son utilisation?
> > > >
> > > >
> > > > Cordialement
> > > > --
> > >
> >
>

--------------------------------------------------------------------------
> > > --
> > > > --------------------
> > > > Crévecoeur Jérôme
> > > >
> > > > ACS INFORMATIQUE
> > > > 122,rue du Château d'orgemont
> > > > 49000 ANGERS
> > > > Tel: 02 41 68 42 36 Fax: 02 41 68 42 48
> > >
> >
>

--------------------------------------------------------------------------
> > > --
> > > > ---------------------
> > > > "Jean-Francis OCHS" message
> de
> > > > news:%
> > > > > Bonjour,
> > > > >
> > > > > Je me mets tout doucement à COM pour développer des applications
> > 3/3...
> > > > >
> > > > > J'ai compris les systèmes de développement de base interface,
couche
> > > > métier,
> > > > > couche données... par contre, la moindre interface qui fait


appel
à
> > une
> > > de
> > > > > mes couches métier puis données prends tout de suite 9 Mo en
> > > mémoire...et
> > > > > cela pour un piti recordset de 3 lignes...alors je me dis que


j'ai
> > fait
> > > > une
> > > > > connerie quelque part...
> > > > >
> > > > > 1. Comment faire en sorte de diminuer la charge mémoire lors e
> > > > l'utilisation
> > > > > de composants ?
> > > > > 2. Que dois je utiliser pour faire en sorte que ma couche


données
> > reste
> > > > > chargée en mémoire une fois initialisée ( càd faire en sorte
> > d'utiliser
> > > > une
> > > > > seule instance de ma classe de données polutôt que de la


reloader
à
> > > chaque
> > > > > fois)
> > > > >
> > > > > Si il faut que je sois plus clair, hésitez pas...
> > > > >
> > > > > Merci d'avance...
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > ---
> > > > > Message envoyé ne contenant aucun virus connu.
> > > > > Checked by AVG anti-virus system (http://www.grisoft.com).
> > > > > Version: 6.0.509 / Virus Database: 306 - Release Date:


12/08/2003
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> > > ---
> > > Message envoyé ne contenant aucun virus connu.
> > > Checked by AVG anti-virus system (http://www.grisoft.com).
> > > Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003
> > >
> > >
> >
> >
>
>
> ---
> Message envoyé ne contenant aucun virus connu.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003
>
>




Bismark Prods
Le #12831761
Oui c'est ce que je pensais ! il y a des objets qui ne sont pas décharger
apres leur utilisation ! dans clsData, on peut faire plusieurs set obj nothing ce qui fait deja descendre de 9 Mo à 6 Mo ! pas mal non ?

"Jean-Francis OCHS" news:
Vi...mais ça règle pas mon problème :)

lol


"Bismark Prods" news:OAJPJ$
> C'est marrant cette architecture de gestion des données me fait
furieusement
> penser à l'architecture utilisée en PHP. Avec les


include('clsData.php');
> etc....
>
> lol
>
> "Jean-Francis OCHS" > news:%
> > C'est le tutoriel que j'ai utilisé pour génerer mon application...
> > J'ai vraiment employé le même principe...
> >
> > Alors je comprends pas...
> >
> > Voici le schéma simplifié exact de mon application :
> >
> > Couche donnée --> Pâle copie du tutoriel avec une fonction rajoutée


qui
me
> > renvoie la valeur maximale d'une clé dans une table..
> >
> > Couche métier --> deux fonctions : -> récupération d'un recordset ( 3
> > upplets de 6 colonnes )
> > -> Récupération
> de
> > la valeur maximale d'une clé
> > Interface : Création De l'objet métier par CreateObject --> Taille du
prog
> > compilé 20ko --> taille en mémoire 9 Mo !!!
> >
> >
> > En plus, je souhaiterais que ma couche données soit résidente... un
> > chargement unique.
> >
> >
> > "Crevecoeur Jérôme"

message
> de
> > news:
> > > Bonjour,
> > > Vous trouverez à cette adresse
> > > http://rp.developpez.com/vb/tutoriels/troistiers/
> > >
> > > un tutorial sur une architecture trois tiers.
> > >
> > > Peut-etre que cet exemple vous permetra d'y voir plus clair.
> > > Votre objet de donnée, vous le déclarant en global dans


l'application?
> > > Libérez vous bien toute la mémoire aprés son utilisation?
> > >
> > >
> > > Cordialement
> > > --
> >
>

--------------------------------------------------------------------------
> > --
> > > --------------------
> > > Crévecoeur Jérôme
> > >
> > > ACS INFORMATIQUE
> > > 122,rue du Château d'orgemont
> > > 49000 ANGERS
> > > Tel: 02 41 68 42 36 Fax: 02 41 68 42 48
> >
>

--------------------------------------------------------------------------
> > --
> > > ---------------------
> > > "Jean-Francis OCHS"

message
de
> > > news:%
> > > > Bonjour,
> > > >
> > > > Je me mets tout doucement à COM pour développer des applications
> 3/3...
> > > >
> > > > J'ai compris les systèmes de développement de base interface,


couche
> > > métier,
> > > > couche données... par contre, la moindre interface qui fait appel


à
> une
> > de
> > > > mes couches métier puis données prends tout de suite 9 Mo en
> > mémoire...et
> > > > cela pour un piti recordset de 3 lignes...alors je me dis que j'ai
> fait
> > > une
> > > > connerie quelque part...
> > > >
> > > > 1. Comment faire en sorte de diminuer la charge mémoire lors e
> > > l'utilisation
> > > > de composants ?
> > > > 2. Que dois je utiliser pour faire en sorte que ma couche données
> reste
> > > > chargée en mémoire une fois initialisée ( càd faire en sorte
> d'utiliser
> > > une
> > > > seule instance de ma classe de données polutôt que de la reloader


à
> > chaque
> > > > fois)
> > > >
> > > > Si il faut que je sois plus clair, hésitez pas...
> > > >
> > > > Merci d'avance...
> > > >
> > > >
> > > >
> > > >
> > > > ---
> > > > Message envoyé ne contenant aucun virus connu.
> > > > Checked by AVG anti-virus system (http://www.grisoft.com).
> > > > Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003
> > > >
> > > >
> > >
> > >
> >
> >
> > ---
> > Message envoyé ne contenant aucun virus connu.
> > Checked by AVG anti-virus system (http://www.grisoft.com).
> > Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003
> >
> >
>
>


---
Message envoyé ne contenant aucun virus connu.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.509 / Virus Database: 306 - Release Date: 12/08/2003




Publicité
Poster une réponse
Anonyme