p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2005
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : mars 2005
    Messages : 1 103
    Points : 1 942
    Points
    1 942

    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
    Dut
    Dut est déconnecté
    Rédacteur/Modérateur

    Avatar de Dut
    Homme Profil pro
    Ingénieur R&D - Consultant MATLAB freelance
    Inscrit en
    novembre 2006
    Messages
    18 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur R&D - Consultant MATLAB freelance
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 194
    Points : 50 519
    Points
    50 519

    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 ?
    Sur mon blog : Après GNU Octave 4.0.0, Scilab 6.0.0 se prépare à sortir

    Ma page personnelle avec mes contributions MATLAB (R2011b/R2015a - Windows, Linux et Mac) et Hardware

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

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

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

    Informations forums :
    Inscription : mars 2005
    Messages : 1 103
    Points : 1 942
    Points
    1 942

    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, 07h51
  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, 15h42
  3. Windows update: Bits ne démarre pas.
    Par volontier dans le forum Windows XP
    Réponses: 1
    Dernier message: 21/07/2006, 12h03
  4. Message erreur Windows 16 bits
    Par francis m dans le forum Windows XP
    Réponses: 2
    Dernier message: 24/04/2005, 16h29
  5. [BPW] Dialogues communs Windows 32 bits
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 28
    Dernier message: 29/03/2003, 22h59

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