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

VB 6 et antérieur Discussion :

ActiveX : comment ecrire une application comme la partie graphique de VB6


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 10
    Par défaut ActiveX : comment ecrire une application comme la partie graphique de VB6
    Bonjour.

    Merci de prendre le temps de lire ma question.

    J'aimerai savoir comment écrire un programme permettant de faire tourner des composants activeX comme en phase de developement sous VB6.

    L'objectif est de permettre à un utilisateur du programme d'instancier des composants (à l'aide d'une boite à outil), de régler des proprietées (couleur, adresse IP serveur...), de les retailler et de les déplacer. Le tout sans que celui-ci n'ai a écrire une ligne de code.

    Merci par avance pour vos réponses.

    Cordialement Gilles.

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    salut

    en :
    - créant l'acxtivex (ocx) s'il n'est pas déjà existant
    - enregistrant cet ocx (par regsvr)
    - le cochant dans la boite à outils (composants supplémentaires) où il apparaitra alors
    - l'insérant comme tout autre contrôle

    en n'oubliant pas d'ajouter cet ocx à la liste des dépendances en cas de distribution de l'application)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 10
    Par défaut
    Merci pour ta reponse.

    Mais cela ne correspond pas à ma demande, ou celle ci est mal formulée.

    En fait je voudrai ecrire un programme disposant d'une boite à outil, permettant à l'utilisateur de déposer des composants activeX ,de les dimentionner les positionner et affecter quelques propriétées.
    Ceci à fin qu'il puisse créer sa propre interface graphique.

  4. #4
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Citation Envoyé par gilleslesdf Voir le message
    Merci pour ta reponse.

    Mais cela ne correspond pas à ma demande, ou celle ci est mal formulée.
    Oui car la solution de babaothe consistant à créer un usercontrol (ocx) était une solution en rapport avec ta question -
    le code permet de gérer le control tant à sa conception qu'à son utilisation
    d'autant qu'il y l'alternative des pages de propriétés.

    Citation Envoyé par gilleslesdf Voir le message
    En fait je voudrai ecrire un programme disposant d'une boite à outil, permettant à l'utilisateur de déposer des composants activeX ,de les dimentionner les positionner et affecter quelques propriétées.
    Ceci à fin qu'il puisse créer sa propre interface graphique.
    L'autre possibilité d'interaction à la conception est de créer un addin dédié à l'ide VB6 si c'est ce que tu cherches, mais j'en doute.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 10
    Par défaut
    Je suis désolé si mes questions ne sont pas claires , mais le sujet est encore assez confu pour moi.


    [edit ] Pour être plus précis comment écrire un conteneur mettant la propiété UserMode de l'Ambient a true ? [/edit]


    Il me semble q'un composant ActiveX peut avoir 3 etats :
    - conception (creation du composant sous l'ide)
    - developement (utilisation du composant sous l'ide)
    - utilisation (execution au saint du programme)

    Mon objectif est de le mettre en mode developement au saint d'un programme.
    Ceci afin de ne pas devoir gerer dans le code du composant un flag pour activer ou désactiver les methodes resize ou autre, et surtout ne pas devoir réecrire le code des composants standards (bouton ,label ...)

  6. #6
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Désolé, je ne comprends pas, notamment quand tu précises
    Mon objectif est de le mettre en mode developement au saint d'un programme.
    Ceci afin de ne pas devoir gerer dans le code du composant un flag pour activer ou désactiver les methodes resize ou autre, et surtout ne pas devoir réecrire le code des composants standards (bouton ,label ...)
    Ceci dit, Usermode n'est et ne peut-être qu'en lecture seule -
    en résumé, l'utilisateur intervient sous l'IDE ou non.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 10
    Par défaut
    Mon objectif est d'écrire un petit ide, qui ne s'occupe que de la partie graphique (position, dimention des composants) et permettant de renseigner des propriétées.

  8. #8
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    C'est possible : niveau expert ++
    Il faut gérer différents formes, pour chaque forme, différentes régions qui feront réagir le curseur et qui réagiront sur le move avec bouton enfoncé pour le placement/redimensionnement.
    Prévoir également de traiter les événements de la souris sur le fond pour la création/dimensionemet des composants
    Prévoir egalement une form séparée qui affichera à la demande les propriétés des objets.
    Apres, prévoir l'enregistrement du formulaire et son rechargement.
    Bref, deux à trois mois de boulot pour un initié.

  9. #9
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    Citation Envoyé par Delbeke Voir le message
    Bref, deux à trois mois de boulot pour un initié.
    Un peu court, comme délai, Delbeke (et sans compter l'intellisense, etc ...)
    (et la "chose" écrite avec vb6 ?)

  10. #10
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Citation Envoyé par gilleslesdf Voir le message
    Mon objectif est d'écrire un petit ide, qui ne s'occupe que de la partie graphique (position, dimention des composants) et permettant de renseigner des propriétées.
    Rien que ça ! Tu reviens vers nous plus tard ?
    A l'année prochaine...

    Soyons sérieux et restons les pieds sur terre :
    Je ne vois pas comment ne pas utiliser un addin à la base
    afin de pouvoir récupérer l'instance active de VBIde si tu veux écrire du code dynamiquement
    ou gérer les objects sous l'Ide.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 10
    Par défaut
    Merci à tous pour vos reponses

    @Delbeke
    Donc il me faut programmer l'ensemble de l'interface graphique, les comportements et interactions avec l'utilisateur, pour un code efficace il me faudra utiliser un language un peut plus avancé que VB6, je pense à VC++ ou à Delphi. C'est faisable mais un peut chère en temps. L'autre solution serait de soutraiter cette partie pour 3 ou 4 composants , le reste je pourrais le faire vivre à partir de cette base. Aurais tu des contactes à me donner ?

    @babaothe
    Le delai n'est pas un problème soit le client à les moyens de se le payer soit il revoi sa demande à la baisse.
    Citation Envoyé par babaothe Voir le message
    Un peu court, comme délai, Delbeke (et sans compter l'intellisense, etc ...)
    (et la "chose" écrite avec vb6 ?)
    Pourrais tu me préciser ce que tu veux dire par "l'intellisense" et puis l'"etc..." (ces trois lettres sont souvent tres riches en information)

    @DarkVader
    Citation Envoyé par DarkVader Voir le message
    Soyons sérieux et restons les pieds sur terre
    Je suis sérieux et j'ai les pieds sur terre, il ne s'agit pas ici de me faire plaisir dans mon coin (en plus ça rend sourd), mais de répondre aux besoins de mon client.

    Citation Envoyé par DarkVader Voir le message
    Rien que ça ! Tu reviens vers nous plus tard ?
    A l'année prochaine...
    Je ne pense pas que mon patron soit faché de me vendre pour un an de travaille, ni moi d'ailleurs.

    Pour apporter une réponse fiable et économiquement viable, il me faut connaitre les moyens et le temps. C'est pourquoi je me permet de vous questionner et que j'apprecie vos informations.
    Connaitriez vous des livres relatifs à ce sujet ?

  12. #12
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    Citation Envoyé par gilleslesdf Voir le message

    @babaothe
    Le delai n'est pas un problème soit le client à les moyens de se le payer soit il revoi sa demande à la baisse.


    Pourrais tu me préciser ce que tu veux dire par "l'intellisense" et puis l'"etc..." (ces trois lettres sont souvent tres riches en information)

    Intellisense : Tu en trouveras les définitions un peu partout, y compris dans Wikipedia (je trouve quand même étonnant que, souhaitant faire un IDE, tu ne saches pas ce que c'est)
    le etc : tout ce qu'il faut savoir des fonctionnalités habituelle d'un IDE. Ta question ressemble un peu à une demande d'un inventaire exhaustif de ces fonctionnalités !
    Je vais te répondre alors ainsi : fais d'abord (aucune connaissance informatique à ce niveau) ton propre cahier des charges de ce que devrait être ton ide (çà, c'est de la rédaction et rien d'autre).
    Chacune des charges ainsi définies (par toi) sera l'une des parties du "etc..."

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 10
    Par défaut
    Je n'aurais pas besoin de l'Intellisense. L'utilisateur ne fera que la partie graphique. Le code sera dans les methodes des composants activeX que mon programme appellera cycliquement.

    En ce qui concerne le etc tu m'as fait une réponse récurcive, je vais pas tarder a me faire exploser la pile

  14. #14
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Comme je ne suis toujours pas sur d'avoir encore tout compris,
    (il y a des réponses contradictoires au fil de cette discussion)
    ce serait bon que tu confirmes les points suivants :
    1) L'application s'adresse à un développeur durant la phase de développement d'une interface graphique dont tu fournis les controls
    2) si oui, le développeur intervient-il sous l'Ide VB
    3) sinon, préciser.

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 10
    Par défaut
    Avant tous il faut bien comprendre que je ne suis pas informaticien.
    Je developpe depuis plusieur années des IHM pour des machines spéciales que nous fabriquons, gérant la communication avec des automates , des robots , des systèmes de vision...
    Donc mon vocabulaire dans le domaine de l'informatique n'est pas forcement adéquate, ni précis.


    Pour te preciser les choses.
    1)
    Mon client vend du materiel est souhaite pouvoir créer une interface permettant la visualisation de l'état de son materielle en fonction de l'application pour son client.

    Mon rôle créer :
    - des activeX (Voyant, bouton ...)
    - le protocole de communication avec le materiel de mon client
    - un programme lui permettant d'instancier graphiquement les activeX et de renseigner leur propriétés (par exemple tel voyant lié à telle adresse mémoire avec telle couleur en fonction de la valeur de la mémoire)
    - un autre programme ( ou le même ) mettant en phase d'éxécution l'interface réalisée.

    Le rôle de mon client.
    - programmer son matérielle pour les besoins de son client.
    - créer une IHM de manière graphique répondant aux besoins de son client.
    - établir les liens entres les activeX et les données de son programme

    Le rôle du client de mon client:
    - regarder l'IHM et faire ce qu'elle lui dit.

    2 3 )
    Mon client n'intervient pas sous l'ide de VB , mais sous le mini IDE que je lui fournis. Dans le quel il ne rentre aucun code, il ne fait qu'établire les liens entre les data de son programme et les activeX qu'il instentie de manière purement graphique. Une foix l'opération terminér mon programme génère "l'exécutable" pour le client final (opérateur de ligne de production).

  16. #16
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Ce n’est pas encor du VB6, mais pourrait/pourra le devenir, bien d‘autres langage de programmation pouvant permettre de réalisé ta demande.

    Je crois avoir compris, en fait tu veux créer un programme qui sera modulable (types de composants nombre, configuration).
    Un mini éditeur personnalisé ne contenant que les composants utiles.
    J’ai déjà eu l’occasion de faire cela il y a une dizaine d’années.

    Tout de suite un conseil (du vécu).

    Un seul et même programme pour ton client et le client de ton client.
    Pourquoi un seul programme:
    Statut lambda, à l’ouverture du programme
    le client de ton client ne peut que visualiser, il ne peut rien modifier/créer, ou en tout cas n‘a que peut d‘autorisation (que tu décideras avec ton client).

    par contre, dans une partie du menu commun Lambda,
    Il est possible , en entrant un mot de passe:
    Statut Autorisé, devenir un utilisateur/concepteur avec droits limités (ton client),
    Affichage de plusieurs menus non visibles, donc non accessible de Lambda.

    Statut Administrateur, permet d’avoir tous les droits (toi, le concepteur du programme).
    Affichage de plusieurs menus non visibles de Lambda ni de Autorisé.

    L’intérêt d’un seul programme et de pouvoir intervenir sans se promener avec une clef USB de 3 programmes différent, tu es chez ton client ou le client est chez le client de ton client, tu n’a pas les programmes, il suffit de se loguer Autorisé pour ton client, Administrateur pou toi.

    De plus, il n’est pas toujours accepter par le client et/ou le client de ton client, de brancher une clef (hou le vilain truc qui va me mettre plain de virus ou autres) .

    Dans ce programme j’avais mis tous les composants(indexés) pouvant être utiles, chacun étant invisible à l’ouverture du dit programme.
    Les menus permettant d’ajouter, configurer et supprimer chacun d’eux (suivant Statut).

    Cela implique de mémoriser, dans une BD (le plus simple à mon avis) tous ses paramètres.
    En fait deux BDs, une pour ton client (contenant le paramétrage de chaque clients de ton client) et une qui sera destiner à chacun des clients de ton client qui ne contiendra que les paramètres du client client.

    Pour indication, 4 mois de développement plus une dizaines de version (6 mois de plus) pour finir sans Bugue durant les 7 ans d’utilisation.
    Il s’agissait d’une entreprise d’animation (mariages, bals, discothèques, magasins, écoles ……) cela lui permettait d’éditer l’équivalant d’une plaquette de publicité sous forme media informatisé, pour chaque clients pour qu’il puisse visualiser les différentes animations demandées, elle diffusait aussi dans ses locaux (avec accords des clients) pour sa propre publicité.

    Bon courage.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  17. #17
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Ben mon post resté en suspens le temps du repas est devenu inutile suite à la réponse de progelect.
    Juste une remarque accessoire, plutôt qu'une base de données (encore que cela peut-être un mix),
    un fichier xml crypté pourrait permettre de sauvegarder (outre les propriétés)
    le code spécifique ou script à exécuter.

    Bon courage.

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 10
    Par défaut
    Merci pour vos réponses.

    En effet il existe plusieur manières de "simuler" un ide, ces solutions sont envisageables pour repondre à mes besoins.

    Mais la curiosité reste. Dans un ActiveX en testant la propriété Ambiant du conteneur on peut savoir si l'activeX est en phase de developement ou d'exécution. Il devrait donc exister un moyen de concevoir un conteneur, et de passer celui ci en mode developement (pour mon client) ou en mode exécution (pour le client final). Avez vous des pistes de recherche à me fournir, ou de la litérature. Mes recherches sur le web ne sont pas tres fructueuses, ce sujet ne semble vraiment pas courrant.

  19. #19
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Citation Envoyé par gilleslesdf Voir le message
    .../... Il devrait donc exister un moyen de concevoir un conteneur, et de passer celui ci en mode developement (pour mon client) ou en mode exécution (pour le client final).../...
    Cette solution suppose qu'il utilise l'ide VB6 et compile lui-même l'exécutable à fournir au client final.

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 10
    Par défaut
    Effectivement la ça se complique, écrire un IDE et un compilateur c'est au dela de mes moyens , et puis à réinventer la poudre on se fait mal.

    Je pense intégrer dans le code des mes activeX un flag déterminant s'il sont en mode de developement ou exécution. Dans le premier cas la gestion de la souris donnera les "resize" et les "move" et l'acces aux propriétées. Dans l'autre la souris ne sera pas interceptée et donnera le comportement "classique" de l'activeX.

    Cette méthode devrai me permettre de "surcharger" les composants classiques (bouton , label ...) pour les rendre compatibls avec mes souhaits , sans devoir tous réécrire.

    Merci à tous pour votre aide, et je m'excuse encore pour l'imprécision de mes propos.

    Je laisse le sujet ouvert encore quelques jours pour rester à l'écoute de vos suggestions et conseilles.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/02/2010, 12h00
  2. Réponses: 1
    Dernier message: 11/01/2010, 12h32
  3. Comment exécuter une application java comme un batch C ?
    Par gillin dans le forum Général Java
    Réponses: 7
    Dernier message: 09/02/2007, 14h59
  4. Réponses: 11
    Dernier message: 25/05/2006, 12h42
  5. Réponses: 1
    Dernier message: 31/10/2002, 12h55

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