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

MATLAB Discussion :

actXserver & windows 64 bits


Sujet :

MATLAB

  1. #1
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 883
    Points : 3 431
    Points
    3 431
    Par défaut actXserver & windows 64 bits
    Hello

    Bon désolé je pose une question sans même avoir pris le temps de chercher, mais bon, je suis un peu pris par le temps

    bref, j'ai un ensemble de fonctions qui me permettent (via des actXserver) d'ouvrir des fichiers offices, d'écrire dedans ... etc ...
    ensemble de fonction qui marchaient jusque là

    mais depuis que je suis passé sous windows 64 bits, c'est des soucis
    je suppose que c'est le passage à windows 64 bits car j'ai réinstallé la même version d'office (2007) et de matlab (2011b)

    bref, avant un objet com sur un document office avait cette gueule là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Interface.Microsoft_Excel_9.0_Object_Library._Workbook
    (repris sur la doc matlab, correspond pas forcement à mon pb)

    maintenant il a cette gueule là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Interface.0002096B_0000_0000_C000_000000000046
    sic ...
    en fait tout le code dont je dispose pour traiter ces objets ne marche plus

    est ce que quelqu'un a été confronté à ce problème ? et connais une solution ? (j'aimerais retourner sur un "adressage" comme avant )

    Bon, re désolé de poser une question alors que j'ai même pas cherché 5 minutes ... je pars en recherche d'une solution en espérant qu'entre temps quelqu'un qui sait soit passé par là ;-)

    Merci
    fab

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 318
    Points : 52 922
    Points
    52 922
    Par défaut
    Je ne vois pas très bien pourquoi tu devrais te soucier de ce nommage interne.

    Pourrais-tu nous montrer un exemple simple de code qui ne fonctionne plus en nous disant ce qu'il est censé faire ?

  3. #3
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 883
    Points : 3 431
    Points
    3 431
    Par défaut
    bah, c'est assez simple en fait
    dans le code de certaines fonctions on passe en parametre une interface qui peut être soit une interface de l'objet document soit une interface d'un sous objet de ce document ...
    alors pour départager, on décompose cet objet interface retranscrit en string (fonction class) et on compare avec des opérateurs type strcmp
    pas forcement hyper propre, mais bon ... (je suis pas l'auteur de ces fonctions, je les utilise, et je suis incompétent en COM)

    bref, j'ai trouvé une parade, par exemple pour savoir si l'objet passé en argument correspond à un document ou à une sélection (dans le document)
    j'ai remplacé quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    shCOM = class(hCOM);
    idx = strfind(shCOM,'.');
    if strcmpi(shCOM(idx(end)+1:end),'Selection')
       ...
    elseif strcmpi(shCOM(idx(end)+1:end),'_Document')
       ...
    else
       ...
    end
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if strcmp(class(hCOM),class(hCOM.Parent.Selection))
        ...
    elseif  strcmp(class(hCOM),class(hCOM.Document))
        ...
    else
        ...
    end
    ça marche dans mon cas, mais je suis pas sur que ça soit identique dans tous les cas de figures (je maîtrise pas du tout l'arborescence COM) même si sur le papier ca me parait un poil plus propre (et surtout compatible avec des changement de nommage)

    mais bon, le plus simple pour moi serait de pouvoir retomber sur le nommage d'origine afin de ne pas aller modifier plusieurs fonctions

Discussions similaires

  1. Limites mémoire de ASE 12.5.4 sur windows 32 bit
    Par sybcat dans le forum Adaptive Server Enterprise
    Réponses: 1
    Dernier message: 10/08/2007, 08h51
  2. Quel est la diff entre windows 32 bits et 64 bits
    Par pierrot10 dans le forum Windows XP
    Réponses: 4
    Dernier message: 15/08/2006, 16h42
  3. Windows update: Bits ne démarre pas.
    Par volontier dans le forum Windows XP
    Réponses: 1
    Dernier message: 21/07/2006, 13h03
  4. Message erreur Windows 16 bits
    Par francis m dans le forum Windows XP
    Réponses: 2
    Dernier message: 24/04/2005, 17h29
  5. [BPW] Dialogues communs Windows 32 bits
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 28
    Dernier message: 29/03/2003, 23h59

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