Re à Sanaa T (suite)retour chariot MCGoHome

Merci de l'intérêt que vous portez à ma requête et désolé de l'envoi involontaire de mon début de message.
En fait, je voulais préciser que le retour chariot a été résolu temporairement en forçant sa commande pour une position de moins de 1µm de la position extrême dans un sens, à savoir 90mm.
AUssi, j'ai remarqué que donc le chariot n'atteint pas 90 mm mais 89.9 mm, à cause d'un Following error (erreur de position instantanée) trop important,de l'ordre de 3 pas sur les 450000 pas correspondant à 90 mm (rapport de 0.2).
Avec l'ancien système (carte isa au lieu de la nouvelle PCI MUltiflex), le following error était nul et les 90 mm étaient atteints.
J'aimerais savoir s'il existe une aide à la configuration du set up du CW demo, avec les ordres de grandeurs voire les codes relatifs au following error, asservissement PID..., car je ne l'ai pas trouvé sur le site pmccorp.com ou le CD Motion Control qui m'a été fourni avec la carte PCI Multiflex.
En outre, je ne vois pas comment avoir une vitesse constante car Labview change automatiquement les paramètres d'en haut (accélération, décélération,...)
La solution temporaire n'est pas satisfaisante car il manque des acquisitions de valeurs sur les derniers µms.
Je vous fournis une capture écran des séquences 6 et 7 avec le retour commandé par le MCGoHome.
Merci.
Attachments:
séq 6-73.bmp ‏2305 KB

Merci de l'intérêt que vous portez à ma requête et désolé de l'envoi involontaire de mon début de message.
En fait, je voulais préciser que le retour chariot a été résolu temporairement en forçant sa commande pour une position de moins de 1µm de la position extrême dans un sens, à savoir 90mm.
AUssi, j'ai remarqué que donc le chariot n'atteint pas 90 mm mais 89.9 mm, à cause d'un Following error (erreur de position instantanée) trop important,de l'ordre de 3 pas sur les 450000 pas correspondant à 90 mm (rapport de 0.2).
Avec l'ancien système (carte isa au lieu de la nouvelle PCI MUltiflex), le following error était nul et les 90 mm étaient atteints.
J'aimerais savoir s'il existe une aide à la configuration du set up du CW demo, avec les ordres de grandeurs voire les codes relatifs au following error, asservissement PID..., car je ne l'ai pas trouvé sur le site pmccorp.com ou le CD Motion Control qui m'a été fourni avec la carte PCI Multiflex.
En outre, je ne vois pas comment avoir une vitesse constante car Labview change automatiquement les paramètres d'en haut (accélération, décélération,...)
La solution temporaire n'est pas satisfaisante car il manque des acquisitions de valeurs sur les derniers µms.
Je vous fournis une capture écran des séquences 6 et 7 avec le retour commandé par le MCGoHome.
Merci.
Attachments:
séq 6-73.bmp ‏2305 KB

Similar Messages

  • Retour chariot

    Bonjour à tous;
    J'ai un problème au niveau de l'organisation du fichier final des acquisitions de mes expériences au sein du laboratoire. Alors le problème est le suivant: à chaque minute je fais l'acquisition du signalet j'enregistre dans le meme fichier durant 180 minutes et chaque acquisition est composée de 2000 points; mon obejectif est de faire une ligne vide entre les différentes acquisitions, je m'explique je fais l'acquisition de la première minute je l'enregsitre dans le fichier et dans ce meme fichier le programme doit sauter une ligne pour ajouter l'acquisition prochaine et ainsi de suite, c'est juste pour faciliter la tache en séparant entre les différentes acquisitions i et i+1 par une ligne vide. Merci beaucoup pour vos suggestions.
    Cordialement;

    Bonsoir à tous;
    Je pense que je n'ai pas expliqué mon problème comme il faut. Mon expérience dure 180 minutes pour suivre un processus en agroalimentaire par les ondes ultrasonores, pour chaque minute je fais l'acquisition du signal rétrodiffusé par l'échantillon, alors j'enregistre tous les acquisitions dans le meme fichier, ce fichier est composé d'une seule colonne et 180*2000 lignes, alors pour que le fichier soit lisible il faut séparer entre l'acquisition i et l'acquisition i+1 par une ligne vide. Donc dans le corps du programme il faut injecter une instruction pour le faire c'est à dire chaque fois il enregistre le signal avant de terminer il doit sauter une ligne de telle facon à avoir une ligne vide pour que je puisse séparer entre deux acquisitions successives.
    Par exemple:
    3.458
    6.478
    1.589
    6.421
    1.456
    5.263
    9.478
    8.235
    les quatres premières lignes correspondent à la première acquisition.
    les autres lignes correspond correspondent à la deuxième acquisition.
    le vide entre les deux acquisitions est mon problème, comment apparaitre ce vide entre deux acquisitions successives et dans le meme fichier?
    S'il vous plait si vous avez des suggestions je vous serai très reconaissant car le traitement que je ferai ultérieurement sur ce fichier m'exige à former ce fichier de cette façon.
    Cordialement;

  • Les retours chariots ne sont pas pris en compte dans viewer, alors qu'ils le sont dans desktop et Plus.

    Tout est dans le titre.
    J'ai trouvé une discussion dans laquelle le problème était relevé, mais il n'y a aucune réponse.

    Sorry,
    it could be better in English.
    One field in a worksheet contains carriage returns.
    It works fine in Desktop and Plus but seems not to be supported in Viewer.

  • Style de paragraphe complexe

    Bonjour à tous,
    dans mes documents, j'ai un style de paragraphe qui crée des procédures ou des désignations numérotées.
    le style, "procédure 1" place le texte en retrait de 22 mm à gauche mais avec la première ligne ayant un retrait de -7 mm pour placer le chiffre de chaque procédure.
    le chiffre est entre parenthèses (1) pour les définitions  et entre crochets [1] pour les procédures et systématiquement en caractères gras
    (exemple)
    [1] Démonter les vis du couvercle
    [2] Retirer le couvercle et sortir les
           pignons intermédiaires.
    est-il possible d'inclure dans le style de paragraphe, une fonction qui mette en gras, les chiffres et caractères contenus dans les premiers 7 mm de la première ligne et laisse en caractères normaux le reste du texte de ce paragraphe.
    j'ai consulté toutes les possibilités de configuration d'un style de paragraphe mais je n'ai rien trouvé
    J'ai oublié de préciser que j'utilise Indesign Cs6 sur Pc wondows
    Merci de vos commentaires

    OK… Comme je te le faisais remarquer dans ma précédente réponse, ta séquence de styles imbriqués ne peut pas fonctionner car il n'y a pas de retours forcés, mais des vrais retours. Certains les appellent retours chariot, saut de paragraphe. Ils sont symbolisés par ce caractère : ¶. Les retours forcés apparaissent comme ceci : ¬
    Tu te compliques la tâche inutilement. Tu as besoin d'un style de paragraphe et de deux styles de caractère. Dans ton style de paragraphe, dans l'onglet Retrait et espacement, tu vas définir un retrait à gauche de 7 mm et un retrait négatif de -7 mm sur la première ligne. Dans l'onglet Tabulations, tu indiques une tabulation à 7 mm.
    Mais j'ai l'impression que tu l'avais déjà fait. Tu appliques ensuite le style GREP qui sert à passer les chiffres entourés de crochets ou de parenthèses en gras. En ce qui concerne les premières lettres des phrases en capitales, la séquence de styles imbriqués que je t'ai proposée fonctionne bien sauf pour la toute première lettre du paragraphe, celle qui suit la tabulation. Tu peux donc utiliser le même style de caractère (celui qui est défini en caps) comme style GREP et faire en sorte que ce style de caractère s'applique à n'importe quelle lettre à la condition que cette lettre soit précédée d'une tabulation.
    Voici d'abord la capture d'écran des styles imbriqués :
    et la syntaxe pour capitaliser la première lettre :
    (?<=\t)[\l\u]
    dont voici une capture, avec également la syntaxe du style GREP pour graisser les repères.
    Je m'aperçois que je n'ai pas répondu à la dernière question concernant l'ajout d'un point final. Là, il s'agit de remplacer rechercher : les styles GREP ont pour fonction de mettre en forme du texte existant, pas d'en ajouter. Tu peux effectuer ce rechercher-remplacer, mais il a l'inconvénient d'ajouter un point final même s'il y en a déjà un. Ceci dit, on peut ensuite lancer un autre rechercher-remplacer pour enlever 2 points successifs.
    Je redis aussi ici que tu aurais tout intérêt à explorer les possibilités qu'offre la numérotation automatique d'InDesign (partie Puce et numérotation des styles de paragraphe).

  • Need Help to see why the performance is not good

    Hi,
    We have an application that all process are developed in PL/SQL on Oracle 9i Database :
    Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
    PL/SQL Release 9.2.0.6.0 - Production
    Why I have created this package. the application is a production management on chemical industries. I need to sometimes trace the Manufacturing order execution to eventually answer some incoherent data. If I analyze directly the data in the Table is not always responding because the origin of problem can be provide of some execution that perform some calculation.
    In the procedure or function a use my package PAC_LOG_ERROR.PUT_LINE(xxxxxx) to save the information. This command save the information in the memory before. At the end of the procedure or function a perform the insert with the COMMIT calling PAC_LOG_ERROR.LOGS or PAC_LOG_ERROR.ERRORS on the catch exception.
    This package is always call. On each routines performed I execute it. In the trace log of the database we have see a problem we the procedure GET_PROC_NAME in the package. We have identify that is called more that 800x and increase the performance. Who increase is this select command :
        SELECT * INTO SOURCE_TEXT
        FROM (SELECT TEXT FROM all_source
            WHERE OWNER = SOURCE_OWNER AND
                  NAME=SOURCE_NAME AND
                  TYPE IN ('PROCEDURE','FUNCTION','PACKAGE BODY') AND
                  LINE <= SOURCE_LINE AND SUBSTR(TRIM(TEXT),1,9) IN ('PROCEDURE','FUNCTION ')
            ORDER BY LINE DESC)
        WHERE ROWNUM = 1;I use it to get the procedure or function name where my log proc is called. I now that I can pass in parameters, but I have think to use an automatic method, that can help to not have some problem with others developer team to make a copy/past and not update the parameters. Because the Log info is read by the Help Desk and if we have an error on the information, it not a good help.
    COULD YOU PLEASE HELP ME TO OPTIMIZE OR SAID THE BETTER METHOD TO DO IT ?
    Here my package :
    create or replace
    PACKAGE PAC_LOG_ERROR AS
    -- Name         : pac_log_error.sql
    -- Author       : Calà Salvatore - 02 July 2010
    -- Description  : Basic Error and Log management.
    -- Usage notes  : To active the Log management execute this statement
    --                UPDATE PARAM_TECHNIC SET PRM_VALUE = 'Y' WHERE PRM_TYPE = 'TRC_LOG';
    --                COMMIT;
    --                To set the period in day before to delete tracability
    --                UPDATE PARAM_TECHNIC SET PRM_VALUE = 60 WHERE PRM_TYPE = 'DEL_TRC_LOG';
    --                COMMIT;
    --                To set the number in day where the ERROR is save before deleted
    --                UPDATE PARAM_TECHNIC SET PRM_VALUE = 60 WHERE PRM_TYPE = 'DEL_TRC_LOG';
    --                COMMIT;
    -- Requirements : Packages PAC_PUBLIC and OWA_UTIL
    -- Revision History
    -- --------+---------------+-------------+--------------------------------------
    -- Version |    Author     |  Date       | Comment
    -- --------+---------------+-------------+--------------------------------------
    -- 1.0.0   | S. Calà       | 02-Jul-2010 | Initial Version
    -- --------+---------------+-------------+--------------------------------------
    --         |               |             |
    -- --------+---------------+-------------+--------------------------------------
      PROCEDURE INITIALIZE;
      PROCEDURE CLEAN;
      PROCEDURE RESETS(IN_SOURCE IN VARCHAR2 DEFAULT NULL);
      PROCEDURE PUT_LINE(TXT IN VARCHAR2);
      PROCEDURE ERRORS(REF_TYPE IN VARCHAR2 DEFAULT 'SITE', REF_VALUE IN VARCHAR2 DEFAULT '99', ERR_CODE IN NUMBER DEFAULT SQLCODE, ERR_MSG IN VARCHAR2 DEFAULT SQLERRM);
      PROCEDURE LOGS(REF_TYPE IN VARCHAR2 DEFAULT 'SITE', REF_VALUE IN VARCHAR2 DEFAULT '99');
    END PAC_LOG_ERROR;
    create or replace
    PACKAGE BODY PAC_LOG_ERROR
    AS
      /* Private Constant */
      CR    CONSTANT CHAR(1)  := CHR(13);  -- Retour chariot
      LF    CONSTANT CHAR(1)  := CHR(10);  -- Saut de ligne
      CR_LF CONSTANT CHAR(2)  := LF || CR; --Saut de ligne et retour chariot
      TAB   CONSTANT PLS_INTEGER := 50;
      sDelay   CONSTANT PLS_INTEGER := 30;
      /* Private Record */
      TYPE REC_LOG IS RECORD(
        ERR_DATE TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
        ERR_TXT  VARCHAR2(4000)
      /* Private Type Table */
      TYPE TAB_VALUE IS TABLE OF REC_LOG INDEX BY PLS_INTEGER;
      TYPE TAB_POINTER IS TABLE OF TAB_VALUE INDEX BY VARCHAR2(80);
      /* Private Variables Structures */
      LOG_TRC PARAM_TECHNIC.PRM_VALUE%TYPE;
      LIST_PARAM TAB_POINTER;
      /* Private Programs */
      FUNCTION GET_PROC_NAME( SOURCE_OWNER IN all_source.OWNER%TYPE
                             ,SOURCE_NAME  IN all_source.NAME%TYPE
                             ,SOURCE_LINE  IN all_source.LINE%TYPE) RETURN VARCHAR2
      AS
        SOURCE_TEXT  all_source.TEXT%TYPE;
        TYPE RECORD_TEXT IS TABLE OF all_source.TEXT%TYPE;
        RETURN_TEXT     RECORD_TEXT;
      BEGIN
        SELECT * INTO SOURCE_TEXT
        FROM (SELECT TEXT FROM all_source
            WHERE OWNER = SOURCE_OWNER AND
                  NAME=SOURCE_NAME AND
                  TYPE IN ('PROCEDURE','FUNCTION','PACKAGE BODY') AND
                  LINE <= SOURCE_LINE AND SUBSTR(TRIM(TEXT),1,9) IN ('PROCEDURE','FUNCTION ')
            ORDER BY LINE DESC)
        WHERE ROWNUM = 1;
        IF SOURCE_TEXT IS NOT NULL OR  SOURCE_TEXT != '' THEN
          SOURCE_TEXT := TRIM(SUBSTR(SOURCE_TEXT,1,INSTR(SOURCE_TEXT,'(')-1));     
          SOURCE_TEXT := LTRIM(LTRIM(TRIM(SOURCE_TEXT),'PROCEDURE'),'FUNCTION');
          SOURCE_TEXT := SOURCE_NAME||'.'|| TRIM(SOURCE_TEXT);
        ELSE
          SOURCE_TEXT := 'ANONYMOUS BLOCK';
        END IF;
        RETURN SOURCE_TEXT;
      END GET_PROC_NAME;
      PROCEDURE SELECT_MASTER(REF_TYPE IN VARCHAR2, PARAM_VALUE IN VARCHAR2, SITE OUT VARCHAR2, REF_MASTER OUT VARCHAR2)
      AS
      BEGIN
          REF_MASTER := '';
          SITE := '99';
          CASE UPPER(REF_TYPE)
            WHEN 'PO' THEN -- Process Order
              SELECT SITE_CODE INTO SITE FROM PO_PROCESS_ORDER WHERE PO_NUMBER = PARAM_VALUE;
            WHEN 'SO' THEN -- Shop Order
              SELECT P.SITE_CODE,P.PO_NUMBER INTO SITE,REF_MASTER FROM SO_SHOP_ORDER S
              INNER JOIN PO_PROCESS_ORDER P ON P.PO_NUMBER = S.PO_NUMBER
              WHERE S.NUMOF = PARAM_VALUE;
            WHEN 'SM' THEN -- Submixing
              SELECT SITE_CODE,NUMOF INTO SITE,REF_MASTER FROM SO_SUBMIXING WHERE IDSM = PARAM_VALUE;
            WHEN 'IDSM' THEN -- Submixing
              SELECT SITE_CODE,NUMOF INTO SITE,REF_MASTER FROM SO_SUBMIXING WHERE IDSM = PARAM_VALUE;
            WHEN 'PR' THEN -- Pourring
              SELECT B.SITE_CODE,P.NUMOF INTO SITE,REF_MASTER FROM SO_POURING P
              INNER JOIN SO_SUBMIXING B ON B.IDSM=P.IDSM
              WHERE P.IDSM = PARAM_VALUE;
            WHEN 'NUMSMP' THEN -- Pourring
              SELECT SITE_CODE,NUMOF INTO SITE,REF_MASTER FROM SAMPLE WHERE NUMSMP = TO_NUMBER(PARAM_VALUE);
    --        WHEN 'MSG' THEN -- Messages
    --          SELECT SITE_CODE,PO_NUMBER INTO SITE,REF_MASTER FROM CMS_INTERFACE.MAP_ITF_PO WHERE MSG_ID = PARAM_VALUE;
            ELSE
              SITE := sys_context('usr_context', 'site_attribute');
          END CASE;
      EXCEPTION
        WHEN OTHERS THEN
          REF_MASTER := '';
          SITE := sys_context('usr_context', 'site_attribute');
      END SELECT_MASTER;
      PROCEDURE ADD_LIST_PROC
      AS
      PRAGMA AUTONOMOUS_TRANSACTION;
      BEGIN
        MERGE INTO LOG_PARAM A
        USING (SELECT OWNER, TYPE
                     ,NAME PROC
                     , CASE NAME WHEN SUBNAME THEN NULL
                                 ELSE SUBNAME
                       END SUBPROC
               FROM (
                  SELECT owner,TYPE,UPPER(NAME) NAME,UPPER(trim(substr(substr(trim(text),1,instr(trim(text),'(')-1),instr(substr(trim(text),1,instr(trim(text),'(')-1),' ')))) SUBNAME
                         FROM ALL_SOURCE where owner in ('CMS_ADM','CMS_INTERFACE')
                                             and type in ('FUNCTION','PROCEDURE','PACKAGE BODY')
                                             and (instr(substr(trim(text),1,instr(trim(upper(text)),'(')-1),'FUNCTION') = 1 or instr(substr(trim(text),1,instr(trim(upper(text)),'(')-1),'PROCEDURE')=1)
               )-- ORDER BY OWNER,PROC,SUBPROC NULLS FIRST
        ) B
        ON (A.OWNER = B.OWNER AND A.TYPE = B.TYPE AND A.PROC=B.PROC AND NVL(A.SUBPROC,' ') = NVL(B.SUBPROC,' '))
        WHEN NOT MATCHED THEN
          INSERT (OWNER,TYPE,PROC,SUBPROC) VALUES (B.OWNER,B.TYPE,B.PROC,B.SUBPROC)
        WHEN MATCHED THEN
          UPDATE SET ACTIVE = ACTIVE;
        DELETE LOG_PARAM A
        WHERE NOT EXISTS (SELECT OWNER, TYPE
                     ,NAME PROC
                     , CASE NAME WHEN SUBNAME THEN NULL
                                 ELSE SUBNAME
                       END SUBPROC
               FROM (
                  SELECT owner,TYPE,NAME,upper(trim(substr(substr(trim(text),1,instr(trim(text),'(')-1),instr(substr(trim(text),1,instr(trim(text),'(')-1),' ')))) SUBNAME
                         FROM ALL_SOURCE where owner in ('CMS_ADM','CMS_INTERFACE')
                                             and type in ('FUNCTION','PROCEDURE','PACKAGE BODY')
                                             and (instr(substr(trim(text),1,instr(trim(text),'(')-1),'FUNCTION') = 1 or instr(substr(trim(text),1,instr(trim(text),'(')-1),'PROCEDURE')=1)
               ) WHERE A.OWNER = OWNER AND A.TYPE = TYPE AND A.PROC=PROC AND NVL(A.SUBPROC,' ') = NVL(SUBPROC,' '));
        COMMIT;
      EXCEPTION
        WHEN OTHERS THEN
          NULL;
      END ADD_LIST_PROC;
      PROCEDURE INITIALIZE
      AS
      BEGIN
        LIST_PARAM.DELETE;
        CLEAN;
    --    ADD_LIST_PROC;
      EXCEPTION
        WHEN OTHERS THEN
          NULL;
      END INITIALIZE;
      PROCEDURE CLEAN
      AS
        PRAGMA AUTONOMOUS_TRANSACTION;
        dtTrcLog DATE;
        dtTrcErr DATE;
      BEGIN
        BEGIN
          SELECT dbdate-NUMTODSINTERVAL(to_number(PRM_VALUE),'DAY') INTO dtTrcLog
          FROM PARAM_TECHNIC WHERE PRM_TYPE = 'DEL_TRC_LOG';
        EXCEPTION
          WHEN OTHERS THEN
            dtTrcLog := dbdate -NUMTODSINTERVAL(sDelay,'DAY');
        END;
        BEGIN
          SELECT dbdate-NUMTODSINTERVAL(to_number(PRM_VALUE),'DAY') INTO dtTrcErr
          FROM PARAM_TECHNIC WHERE PRM_TYPE = 'DEL_TRC_ERR';
        EXCEPTION
          WHEN OTHERS THEN
            dtTrcErr := dbdate -NUMTODSINTERVAL(sDelay,'DAY');
          END;
        DELETE FROM ERROR_LOG WHERE ERR_TYPE ='LOG' AND ERR_DATE < dtTrcLog;
        DELETE FROM ERROR_LOG WHERE ERR_TYPE ='ERROR' AND ERR_DATE < dtTrcErr;
        COMMIT;
      EXCEPTION
        WHEN OTHERS THEN
          NULL; -- Do nothing if error occurs and catch exception
      END CLEAN;
      PROCEDURE RESETS(IN_SOURCE IN VARCHAR2 DEFAULT NULL)
      AS
        SOURCE_OWNER all_source.OWNER%TYPE;
        SOURCE_NAME      all_source.NAME%TYPE;
        SOURCE_LINE      all_source.LINE%TYPE;
        SOURCE_TEXT  all_source.TEXT%TYPE;
        SOURCE_PROC  VARCHAR2(32727);
      BEGIN
        OWA_UTIL.WHO_CALLED_ME(owner    => SOURCE_OWNER,
                               name     => SOURCE_NAME,
                               lineno   => SOURCE_LINE,
                               caller_t => SOURCE_TEXT);
        IF SOURCE_PROC IS NULL THEN
          SOURCE_PROC := SUBSTR(GET_PROC_NAME(SOURCE_OWNER,SOURCE_NAME,SOURCE_LINE),1,125);
        ELSE
          SOURCE_PROC := IN_SOURCE;
        END IF;
        LIST_PARAM.DELETE(SOURCE_PROC);
      EXCEPTION
        WHEN OTHERS THEN
          NULL;
      END RESETS;
      PROCEDURE PUT_LINE(TXT IN VARCHAR2)
      AS
        PRAGMA AUTONOMOUS_TRANSACTION;
        SOURCE_OWNER     all_source.OWNER%TYPE;
        SOURCE_NAME     all_source.NAME%TYPE;
        SOURCE_LINE     all_source.LINE%TYPE;
        SOURCE_TEXT all_source.TEXT%TYPE;
        SOURCE_PROC VARCHAR2(128); 
      BEGIN
        IF TXT IS NULL OR TXT = '' THEN
          RETURN;
        END IF;
        OWA_UTIL.WHO_CALLED_ME(owner    => SOURCE_OWNER,
                               name     => SOURCE_NAME,
                               lineno   => SOURCE_LINE,
                               caller_t => SOURCE_TEXT);
        SOURCE_PROC := GET_PROC_NAME(SOURCE_OWNER,SOURCE_NAME,SOURCE_LINE);
        IF LIST_PARAM.EXISTS(SOURCE_PROC) THEN
          LIST_PARAM(SOURCE_PROC)(LIST_PARAM(SOURCE_PROC).COUNT+1).ERR_TXT := TXT;
        ELSE 
          LIST_PARAM(SOURCE_PROC)(1).ERR_TXT := TXT;
        END IF;
      EXCEPTION
        WHEN OTHERS THEN
          NULL;   
      END PUT_LINE;
      PROCEDURE LOGS(REF_TYPE IN VARCHAR2 DEFAULT 'SITE', REF_VALUE IN VARCHAR2 DEFAULT '99')
      AS
        PRAGMA AUTONOMOUS_TRANSACTION;
        MASTER_VALUE ERROR_LOG.ERR_MASTER%TYPE;
        SITE PARAMTAB.SITE_CODE%TYPE;
        SOURCE_OWNER     all_source.OWNER%TYPE;
        SOURCE_NAME     all_source.NAME%TYPE;
        SOURCE_LINE     all_source.LINE%TYPE;
        SOURCE_TEXT all_source.TEXT%TYPE;
        SOURCE_PROC VARCHAR2(128);
        ERR_KEY NUMBER;
      BEGIN
    --    NULL;
        OWA_UTIL.WHO_CALLED_ME(owner    => SOURCE_OWNER,
                               name     => SOURCE_NAME,
                               lineno   => SOURCE_LINE,
                               caller_t => SOURCE_TEXT);
        SOURCE_PROC := SUBSTR(GET_PROC_NAME(SOURCE_OWNER,SOURCE_NAME,SOURCE_LINE),1,128);
        LIST_PARAM.DELETE(SOURCE_PROC);
    --    SELECT NVL(MAX(ACTIVE),'N') INTO LOG_TRC FROM LOG_PARAM WHERE TRIM(UPPER((PROC||'.'||SUBPROC))) = TRIM(UPPER(SOURCE_PROC))
    --                                      AND OWNER =SOURCE_OWNER AND TYPE = SOURCE_TEXT ;
    --    IF LOG_TRC = 'N' THEN
    --      LIST_PARAM.DELETE(SOURCE_PROC);
    --      RETURN;
    --    END IF;   
    --    SELECT_MASTER(REF_TYPE => UPPER(REF_TYPE), PARAM_VALUE => REF_VALUE, SITE => SITE, REF_MASTER => MASTER_VALUE);
    --    ERR_KEY := TO_CHAR(LOCALTIMESTAMP,'YYYYMMDDHH24MISSFF6');
    --    FOR AIX IN 1..LIST_PARAM(SOURCE_PROC).COUNT LOOP
    --      INSERT INTO ERROR_LOG (ERR_KEY, ERR_SITE,ERR_SLAVE  ,ERR_MASTER  ,ERR_TYPE ,ERR_PROC,ERR_DATE,ERR_TXT)
    --      VALUES (ERR_KEY,SITE,REF_VALUE,MASTER_VALUE,'LOG',SOURCE_PROC,LIST_PARAM(SOURCE_PROC)(AIX).ERR_DATE ,LIST_PARAM(SOURCE_PROC)(AIX).ERR_TXT);
    --    END LOOP; 
    --    UPDATE SESSION_CONTEXT SET SCX_ERR_KEY = ERR_KEY WHERE SCX_ID = SYS_CONTEXT('USERENV','SESSIONID');
    --    LIST_PARAM.DELETE(SOURCE_PROC);
    --    COMMIT;
      EXCEPTION
        WHEN OTHERS THEN
          LIST_PARAM.DELETE(SOURCE_PROC);
      END LOGS;
      PROCEDURE ERRORS(REF_TYPE IN VARCHAR2 DEFAULT 'SITE', REF_VALUE IN VARCHAR2 DEFAULT '99', ERR_CODE IN NUMBER DEFAULT SQLCODE, ERR_MSG IN VARCHAR2 DEFAULT SQLERRM)
      AS
        PRAGMA AUTONOMOUS_TRANSACTION;
        MASTER_VALUE ERROR_LOG.ERR_MASTER%TYPE;
        SITE         PARAMTAB.SITE_CODE%TYPE;
        SOURCE_OWNER all_source.OWNER%TYPE;
        SOURCE_NAME      all_source.NAME%TYPE;
        SOURCE_LINE      all_source.LINE%TYPE;
        SOURCE_TEXT  all_source.TEXT%TYPE;
        SOURCE_PROC  VARCHAR2(4000);
        ERR_KEY NUMBER := TO_CHAR(LOCALTIMESTAMP,'YYYYMMDDHH24MISSFF6');
      BEGIN
        OWA_UTIL.WHO_CALLED_ME(owner    => SOURCE_OWNER,
                               name     => SOURCE_NAME,
                               lineno   => SOURCE_LINE,
                               caller_t => SOURCE_TEXT);
        SOURCE_PROC := SUBSTR(GET_PROC_NAME(SOURCE_OWNER,SOURCE_NAME,SOURCE_LINE),1,125);
        SELECT_MASTER(REF_TYPE => UPPER(REF_TYPE), PARAM_VALUE => REF_VALUE, SITE => SITE, REF_MASTER => MASTER_VALUE);
       IF LIST_PARAM.EXISTS(SOURCE_PROC) THEN
          FOR AIX IN 1..LIST_PARAM(SOURCE_PROC).COUNT LOOP
            INSERT INTO ERROR_LOG (ERR_KEY,ERR_SITE,ERR_SLAVE,ERR_MASTER,ERR_PROC,ERR_DATE,ERR_TXT,ERR_CODE,ERR_MSG)
            VALUES (ERR_KEY,SITE,REF_VALUE,MASTER_VALUE,SOURCE_PROC,LIST_PARAM(SOURCE_PROC)(AIX).ERR_DATE, LIST_PARAM(SOURCE_PROC)(AIX).ERR_TXT,ERR_CODE,ERR_MSG);
          END LOOP; 
         LIST_PARAM.DELETE(SOURCE_PROC);
        ELSE
          INSERT INTO ERROR_LOG (ERR_KEY,ERR_SITE,ERR_SLAVE,ERR_MASTER,ERR_PROC,ERR_DATE,ERR_TXT,ERR_CODE,ERR_MSG)
          VALUES (ERR_KEY,SITE,REF_VALUE,MASTER_VALUE,SOURCE_PROC,CURRENT_TIMESTAMP,'Error info',ERR_CODE,ERR_MSG);
        END IF;
        UPDATE SESSION_CONTEXT SET SCX_ERR_KEY = ERR_KEY WHERE SCX_ID = sys_context('usr_context', 'session_id');
        COMMIT;
      EXCEPTION
        WHEN OTHERS THEN
          LIST_PARAM.DELETE(SOURCE_PROC);
      END ERRORS;
    END PAC_LOG_ERROR;

    This package is always call. On each routines performed I execute it. In the trace log of the database we have see a problem we the procedure GET_PROC_NAME in the package. We have identify that is called more that 800x and increase the performance. Who increase is this select command :
        SELECT * INTO SOURCE_TEXT
        FROM (SELECT TEXT FROM all_source
            WHERE OWNER = SOURCE_OWNER AND
                  NAME=SOURCE_NAME AND
                  TYPE IN ('PROCEDURE','FUNCTION','PACKAGE BODY') AND
                  LINE <= SOURCE_LINE AND SUBSTR(TRIM(TEXT),1,9) IN ('PROCEDURE','FUNCTION ')
            ORDER BY LINE DESC)
        WHERE ROWNUM = 1;Complex SQL like inline views and views of views can overwhelm the cost-based optimizer resulting in bad execution plans. Start with getting an execution plan of your problem query to see if it is inefficient - look for full table scans in particular. You might bet better performance by eliminating the IN and merging the results of 3 queries with a UNION.

  • [Qt 4][Testing] Helloworld build errors [solved]

    Hello!
    I tried to build a simple qt 4 hello world and it did not work.
    I took trolltech example, used qmake -project, qmake and make.
    I got this errors:
    shaika-dzari:$ make
    g++ -c -pipe -march=i686 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -I/opt/qt/mkspecs/linux-g++ -I. -I/opt/qt/include -I. -I. -I. -o main.o main.cpp
    main.cpp:37:25: erreur: QApplication : Aucun fichier ou répertoire de ce type
    main.cpp:38:24: erreur: QPushButton : Aucun fichier ou répertoire de ce type
    main.cpp:49:3: attention : pas de retour chariot à la fin du fichier
    main.cpp: In function 'int main(int, char**)':
    main.cpp:42: erreur: 'QApplication' was not declared in this scope
    main.cpp:42: erreur: expected `;' before 'app'
    main.cpp:44: erreur: 'QPushButton' was not declared in this scope
    main.cpp:44: erreur: expected `;' before 'hello'
    main.cpp:45: erreur: 'hello' was not declared in this scope
    main.cpp:48: erreur: 'app' was not declared in this scope
    main.cpp: At global scope:
    main.cpp:40: attention : unused parameter 'argc'
    main.cpp:40: attention : unused parameter 'argv'
    make: *** [main.o] Erreur 1
    Make seem to use /opt/qt/mkspecs/ but I think it should use /usr/share/qt/mkspecs for qt 4 ( I use qt 4 package from testing ).
    If I unset $QTDIR, qmake seem to load it again.
    I found in /usr/share/qt/mkspecs/linux-g++/qmake.conf this line:
    load(qt_config)
    I have 2 qtconfig on my system and both are in my path:
    shaika-dzari:$ whereis qtconfig
    qtconfig: /usr/bin/qtconfig /opt/qt/bin/qtconfig
    shaika-dzari:$ echo $PATH
    /bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/opt/bin:/opt/java/bin:/opt/java/jre/bin:/opt/kde/bin:/opt/mozilla/bin:/usr/share/netbeans/bin/:/opt/qt/bin:/usr/local/bin:/opt/openoffice2/program:/opt/realplayer:/opt/skype:/usr/local/bin:/opt/openoffice2/program:/opt/realplayer:/opt/skype:/opt/qt/bin
    My qt package:
    local/qt 4.3.3-2
    The QT gui toolkit.
    local/qt-enhanced 3.3.8-15 (kdemod)
    The Qt GUI toolkit (KDEmod)
    I want to be sure before making a bug report. Is it because i use qt-enhanced from kdemod?
    When i used qt4 package from community, I did not have any problem.
    Any suggestions?
    Thank you.
    Last edited by Shaika-Dzari (2008-01-04 23:11:26)

    Up!
    Sorry to double post...
    I tried to build monkeystudio ( Qt4 ide ) and it did not work too.
    I looked in /etc/profile.d and I found qt.sh:
    shaika-dzari:$ cat /etc/profile.d/qt.sh
    export QTDIR=/opt/qt
    export QT_XFT=true
    export QMAKESPEC=$QTDIR/mkspecs/linux-g++
    export PATH=$PATH:$QTDIR/bin
    export MANPATH=$MANPATH:$QTDIR/man
    export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/qt/lib/pkgconfig
    This is wrong for qt4...
    I wrote this script and execute it with my user.
    After that, I was able to build my example:
    export QTDIR=/usr
    export QMAKESPEC=$QTDIR/share/qt/mkspecs/linux-g++
    export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/qt4/lib/pkgconfig
    Any explaination?
    @+

  • CW demo PID pour suppression de Following error

    Bonjour,
    J'ai déjà écrit dans ce forum, concernant un problème de retour chariot sur une table 1 axe de chez Schneeberger avec une application Labview 6.1 nécessitant une carte PCI 6035E (acquisition données), et une Multiflex PCI (remplaçant une isa sur un ancien système).
    L'erreur a été trouvée dans une séquence commandant le retour, non exécutée à cause de la non détection de la position maximale dans un sens (450000 pas ou 90 mm).
    Pourquoi elle ne la détecte pas? La position réelle se distingue de la position optimale par une erreur de position (following error).
    Sortant de Labview, et passant sous CW demo, je fais une succession de Move + et Move - sur une certaine distance, et le problème d'erreur de position se remarque également (la position de retour à la position initiale change constamment: c'est donc un problème intrinsèque à la configuration du système et non de Labview.
    Consultant le CD motion control fourni avec la carte, j'ai appris que la configuration du PID avec ses paramètres de gain proportionnel, dérivé, intégral,...conditionnait l'erreur de position.
    Seulement, il ne donne pas de piste concernant les valeurs à apporter.
    J'aimerais connaitre le programme ou l'endroit où je pourrais obtenir le moyen de trouver ces valeurs (puisque je ne peux les tester directement), voire même ces valeurs.
    Fournie en pièce jointe, une capture écran de la présence du Following error dans l'application du CW demo (les valeurs de paramètres du PID sont celles données par défaut)
    Attachments:
    CWdemoreglage.JPG ‏133 KB

    Bonjour,
    Afin d'essayer de vous venir en aide, quelle est la carte de contrôle d'axes que vous utilisez?
    Cordialement
    David D.
    Ingénieur d'Applications
    National Instruments France

  • Electrochoc : la prochaine suite d'Adobe en location obligatoire !!!

    Bonjour,
    J'étais un heureux client et utilisateur des outis Adobe depuis de nombreuses années. Comme pour beaucoup d'entre nous, ces outils sont devenus indispensables et il est difficielement imaginable de s'en passer ou basculer sur une inexistante concurrence.
    Je ne suis pas de nature sensible mais j'ai été particulièrement choqué quand j'ai appris qu'Adobe allait rendre obligatoire la location de ses logiciels lors de la prochaine mise à jour de leurs suites logicielles.
    Ce qui a également ajouté à ma stupéfaction, c'est aussi de constater que très peu d'utilisateurs ont manifesté leurs inquiétudes après cette annonce abhérente.
    Sous couvert d'avantages exceptionnels et de modernité, le terme cloud vient de dévoiler ici son côté le plus pervers puisqu'il débouche sur une stratégie commerciale particulièrement anti-démocratique, alors que l'univers numérique prône depuis toujours la liberté et de progrès.
    En effet, il est clair que ceux qui ne pourront plus payer à un moment seront immédiatement privé de leur outil de travail. Par ailleurs, une fois que tout le monde aura souscrit à cette offre, chacun sera devenu totalement captif, sans retour en arrière possible et Adobe pourra pratiquer les tarifs souhaitera sans que les utilisateurs aient leur mot à dire.
    Et comment pourrait-on résister quand on sait que les nouvelles suites rendent très vite obsolètes les anciens fichiers, que les versions antérieures finissent par ne plus être compatibles avec les nouveaux OS, et que les matériels ont une durée de vie moyenne de trois ans (dans le meilleur des cas) ?
    ll est clair qu'une telle stratégie de captivité d'une clientèle ne peut être mise en place que par un éditeur tout puissant, monopolistique et égémonique, à l'instar de Quark qui, à son époque, affichait un total mépris de sa clientèle et s'est précipité inexorablement dans le gouffre, et avec le dumping d'Adobe inDesign, dont les premières versions étaient alors... offertes !
    Si les utilisateurs ne manifestent pas en nombre leur réprobation, cette forme de vente abusive va se généraliser et on va assister à une vraie popérisation des utilisateurs qui ne pourront pas garantir la rentabilité de cette engagement à vie (professionnelle).
    Comme il faut positiver, on peut imaginer que ça fera le bonheur des petits éditeurs qui pourront enfin attirer une nouvelle clientèle rejetée par Adobe, comme ceux, par exemple, qui renoncent à Edge Animate pour aller voir du côté de Tumult Hype, si prometeur.
    En attendant, j'avoue être un peu désespéré car je sais bien que cette petite bouteille à la mer n'aboutira pas sur un "printemps Adobe" !
    Merci à tous.

    Imaginons un indépendant qui cesse son activité, il lui est possible de ne s'abonner pour un mois s'il a besoin de retoucher un document, alors qu'il aurait pu le faire gratuitement s'il avait une version CS. Mais qu'en est-il s'il a attendu un an ou deux, son ancien programme Adobe est-il toujours compatible avec le système d'exploitation deson nouvel ordinateur? De nouveau, on ne peut comparer aisément car tous les cas de figures sont uniques!
    Le grand dilemme restant de savoir s'il est viable ou pas de louer ses outils de travail. Les personnes les plus touchées restent les petits indépendants, ou les amateurs, mais aussi, ils ont le choix des abonnements au mois, et les versions CS continent bel et bien à fonctionner -et des correctifs pour CS6 continuent de sortir-.
    Aussi, d'autres ont souligné le fait que certains ne mettaient à jour que toutes les 3 versions, soit environ tous les 5 ans si on se base sur l'ancien rythme. Vous rendez-vous dans un magasin et vous déclarez-vous client fidèle de celui-ci si vous n'y avez plus mis les pieds depuis tant de temps?
    –> C'est ici le vrai débat sur la marche en avant imposées par les géants de l'informatiques qui jongle sur le duo commercial imparable : obsolescence matérielle et technologies imposées (+ propriétaires).
    si les clients n'opéraient de mises à jour que tous les trois ans, c'est bien que leurs besoins étaient largement comblés durant cette période ! Et à quel titre leur enlever ce droit bien légitime ? Côté Adobe, il faut aussi relever la faiblesses de leurs innovations durant les dernières mises à jour des dernières CS, ce qui justifiait encore plus le ralentissement des mises à jour.
    Aussi, il est clair, et Adobe le sait, qu'une piste doit être explorée concernant une solution spécifique pour les Photographes. Il existe une version single app du Creative Cloud, amsi Photoshop seul n'est peut-être pas suffisant Des discussions ont été lancées par des personnes très influentes auprès d'Adobe:http://www.luminous-landscape.com/forum/index.php?topic=78240.0  ethttp://kelbytv.com/thegrid/2013/05/09/the-grid-episode-95-discussing-a dobe-creative-cloud/  On m'a rapporté aussi un sondage qu'Adobe aurait fait sur le sujet.
    –> Je n'aimerais pas devoir aujourd'hui vivre de la photo. Avec l'hécatombe des professionnels qui a suivi l'avènement des banques d'images premiers prix, avoir un tel fil à la patte financier ne me rassurarerait pas !
    J'ai lu aussi de bonnes argumentations "contre", notamment une question de budget, le Creative Cloud étant vu par certains uniquement rentable à terme pour ceux qui utilisaient auparavant la Master Collection. C'est un calcul difficile à effectuer, car certains font le calcul en se basant sur le rythme des sorties Creative Suite de 24 mois, d'autres de 18, alors qu'Adobe était passé à des sorties annuelles lors de CS 5.5 et CS6. Le calcul n'est pas en faveur des versions seules, on pourrait dire que le montant est très petit, moins qu'un croissant par jour, mais si on imagine payer tous ces programmes de la sorte, le prix serait élevé.
    D'un autre côté, le coût d'entrée n'est plus que celui d'un mois d'abonnement là où, auparavant, il fallait payer une suite d'un coup.
    –> Adobe a toujours proposé ses applications en achat à l'unité à un prix disproportionné pour favoriser la vente de ses suites alors que beaucoup d'utilisateurs n'auraient eu besoin que de quelques outils, comme les illustrateurs par exemple, pour qui Photoshop et Illustratior sont largement suffisant. Mais dans leur cas, la réponse CC n'est pas plus adaptée dans la mesure ou la régularité d'une location se calque mal sur une irrégularité des rentrées financières.
    Le problème de la comparaison CS/CC sur une période de temps, c'est nier tous les programmes disponibles en plus de la suite (Muse, toute la Suite Edge, Lightroom, InCopy...) les ouvertures vers de nouveaux champs de création, surtout avec les programmes plus faciles de création de sites web, ou les possibilités de produire des éditions digitales pour iPad/iPhone, la valeur des fontes disponibles pour le web, mais aussi sur le bureau, l'espace de stockage, les nombreux cours disponibles dans l'onglet formation, les 5 sites Business Catalyst, et le fait qu'Adobe ne cesse d'ajouter des programmes (si certains l'accuseront de rendre plus difficile la comparaison, les abonnés y voient de la valeur ajoutée.) Aussi, comparer CS par rapport à CC, sur une période donnée, c'est oublier tous les nouvelles versions des programmes directement disponibles tout au long de l'abonnement.
    –> On peut aussi s'interroger sur cette profusion logicielle et de services alors qu'Adobe n'est même pas parvenu à corriger les principales tares et incohérences de ces outils phares ces dernières années ?
    Et cette floppée d'outils laisse entrevoir de nombreux cauchemars en terme de mises à jour qui ne seront pas forcément toutes stabilisées.
    Il y a eu aussi des plaintes au niveau de l'aspect buffet garni. C'est soit une application, soit toutes. Mais la différence en prix n'est pas si importante (cela veut dire pour certains que le tarif de l'application seule est trop élevée), et insérer des offres intermédiares compliquerait fort le choix, obligerait à créer des offres de mises à jour d'une "suite" à l'autre. Lors des discussions à ce sujet, j'ai vu aussi qu'il n'y avait pas de consensus. Certains ne veulent que 5 programmes, d'autres 3 ou 7... et tous différents.
    Les métiers aussi ont changé, et il n'est pas rare pour un monteur de vouloir créer lui-même un petit site pour la promotion de son court-métrage, ou pour un Photographe de vouloir explorer le monde de la vidéo, voir de publier un portfolio sous forme d'application pour appareils mobiles.
    –> L'aspect découverte est indéniables et c'est peut-être le seul point réellement positif de la formule CC. Cela dit, je ne pense pas qu'on puisse s'investir dans un logiciel pour une raison ponctuelle, il requiert un temps de formation et seule, son utilisation régulière permet d'optimiser sa production.
    Un des plus gros problèmes auxquels ont fait face les équipes qui ont sorti des mises à jour lors de l'année de test du Creative Cloud, qui existait en même temps que la Creative Suite, aura été de supporter deux bases de code différentes, et d'assurer une compatibilité totale entre les deux, cela a finalement été très coûteux en temps de développement, en témoignent les versions CC un peu plus "light" des programmes ayant eu une mise à jour intermédiaire l'année passée par rapport à ceux qui s'en sont passés.
    Ajoutons aussi la confusion, voire la frustration des utilisateurs qui ne trouvent pas les dernières fonctions annoncées, alors qu'ils ont payé une somme importante 6 mois avant, tandis que des gens qui n'ont payé que 6 mois d'abonnement en profitent... La cohabitation CC/CS n'était pas non plus aussi bénéfique que l'on veut le penser.
    –> Ce débat n'intéresse que les geeks et ceux qui s'imaginent encore une fois que les dernières nouveautés vont pallier leurs faiblesses créatives. Et il suffit de voir le résultat sur Internet, il n'y a jamais eu autant d'uniformité dans la conception de site qui sont tous structurés comme des blogs, quelle et la contribution des dernières mises à jour logicielles sur ce point ? Passé la révolution du html 5/CSS3, seul la remise en cause créative a du sens mais c'est une vertu qui n'est pas proposée en location !!!
    Maintenant, pourquoi Adobe n'a pas pu offrir des mises à jour de fonctions dans les versions Creative Suite? C'est une question de lois (http://fr.wikipedia.org/wiki/Loi_Sarbanes-Oxley ), qui interdisent d'ajouter des fonctions après la vente, sans devoir reporter les ventes sur un autre trimestre fiscal. (imaginez si toutes les ventes d'un trimestre disparaissent, le manque à gagner, et la panique en bourse. Ici, vu que l'abonnement court d'un trimestre à l'autre, pas besoin de reporter les ventes.
    Il est indéniable qu'Adobe s'assure également d'une rentrée fixe, alors qu'auparavant, il fallait absolument avoir des fonctions tape à l'œil pour stimuler les ventes des nouvelles versions, ce qui pousse certains à craindre, voire à accuser Adobe, avant qu'elle n'ait fait quoi que ce soit, de castrer les innovations futures, mais les mises à jour continuelles font mentir cela.
    –> Nous sommes bien d'accord, le maître mot d'Adobe est bien entendu : rentabilité à tout prix ! Et quoi qu'il en coûte aux utilisateurs.
    D'un point de vue de développement aussi, la sortie continue de mises à jour permet aux équipes de finaliser une fonction un ou deux trimestres de plus, plutôt que de devoir la reléger à une version future du programme, à cause des dates de sorties des programmes qui devaient correspondre. Aussi des versions incrémentales permettent de mieux sentir ce que les clients veulent et d'avoir une méthode de développement plus fluide, et un repositionnement plus agile face à la concurrence, notamment dans les métiers du web qui évoluent plus vite. http://blogs.adobe.com/jnack/2013/05/apples-oranges-creative-cloud-my- thoughts-on-cc.html .
    –> Je ne prétends pas avoir toutes les clés mais cet argument semble extrait d'une plaquette commerciale d'Adobe. Dans quel cas de figure (un seul exemple suffira) on trouve des professionnels qui dépendent de mises à jour aussi régulières ?
    Avec le temps, beaucoup finiraient par trouver obsolètes ces programmes qui évoluent par à-coups, comparés aux applications mobiles qui sont elles en évolution constante. Je crois qu'avoir des équipes de développement qui travaillent mieux est crucial pour nous, les utilisateurs.
    –> "Avec le temps" ? Il faut encore m'expliquer ce que les uilsateurs perdent en deux ou trois ans de mises à jour ??? Et qui peut prétendre maîtriser de fond en comble la totalité des fonctionnalités de nos CS actuelles avant de parler de mises à jour permanentes ?
    Placer en regard l'évolution des apps mobiles est un peu là aussi, un alibi commercial. Je ne nie pas que ce domaine technologique concentre l'essentiel de l'activité créative et technique en ce moment mais là encore, c'est bien l'idée de la fuite en avant qui nous est imposée par les principaux acteurs du marché. Faut-il s'en satisfaire ?
    Sur cet exemple des mobiles, même si je n'y connais pas grand chose, une fois qu'il est proposé de vraies solutions pour gérer les formats écrans via les mises en page responsives (par exemple), on bascule dans un domaine de développeurs de pointe (qui n'utilisent d'ailleurs peut-être pas les outils Adobe !) et donc très loin des préoccupations de la majorité des utilisateurs.
    Pour toutes ces raisons, je crois que l'abandon pur et simple du modèle Creative Cloud est une utopie.
    –> "Bref, j'ai encore une long chemin à parcourir avant de rejoindre les disciples du CC
    Message was edited by: PECourtejoie

  • Problème d'exécution suite à une panne électrique

    Suite à une panne de courant au moment ou je travaillais sur un vi, depuis je n'arrive plus à l'ouvrir quand je double clique dessus il le cherche puis me demande ou est ce fichier...
    Attachments:
    Programme_rigolet.vi ‏237 KB

    Bonjour,
    Votre fichier a été "corrompu". Et cela peut arriver à n'importe quelle application qui tournait lors de la panne de courant.
    Le seul moyen de récupérer ce dernier serait de chercher dans les fichiers cachés (dans le même répertoire où était le VI) un fichier temporaire ".tmp" et le renommer "programme_rigolet.vi". Dans ce cas, vous parviendrez à ouvrir la dernière sauvegarde.
    Sans cela, il me paraît impossible de récupérer les données.
    J'espère avoir répondu à votre question.
    Sanaa TAZI
    Application Engineer
    National Instruments

  • Recherche licence pour PC de creative suite CS4 ou sup.

    Bonjour !
    Avec Windows 8, impossible d'utliser ma licence de CS2 !
    Me voilà donc contrainte de chercher une licence plus récente, mais pour l'usage que j'en fait, je ne veux pas mettre 1 500 € !!
    J'ai vu qu'on pouvait trouver des personnes intéressées par la cession de licence.
    Je suis intéressée pour racheter une licence pour PC (et non mac !!) pour une creative suite CS4 ou supérieure, qui puisse marcher avec windows 8 !!
    Prix à débattre ;-)
    Merci de votre retour ou de votre aide si vous connaissez forum qui propose ce type de transaction :-)
    BIen à vous,
    R.

    Bonjour. À ma connaissance il n'y a pas de limites à l'utilisation.
    Les versions étudiantes n'ont pas de mises à jour. Elles offrent de grosses réductions en  contrepartie.
    Avez-vous envisagé le creative cloud? Vous pourriez ainsi l'utiliser sur les deux plateformes.
    Mais le prix augmentera quand vous serez pro (c'est un abonnement)

  • I am unable to open my Photoshop program after installing the entire Creative Suite: Premium Production 6. All other programs work, but with Photoshop it says that the program is "locked or in use by another user". I need this fixed immediately.

    I am unable to open my Photoshop program after installing the entire Creative Suite: Premium Production 6. All other programs work, but with Photoshop it says that it "Could not open a scratch file because the file is locked, you do not have necessary access permissions, or another program is using the file. Use the 'Properties' command in the Windows Explorer to unlock the file." Then I select "OK" and the next message comes up "Could not initialize Photoshop because the file is locked, you do not have the necessary permissions, or another program is using the file. Use the 'Properties' command in the Windows Explorer to unlock this file. I installed all of the programs on the same day from a CD. I need this fixed immediately.
    I am not interested in switching to Creative Cloud, so don't even suggest it. I spoke to Mashmi (or something to that effect) on the "Support" Chat and there was absolutely no support. Useless actually.
    Thanks in advance.

    Could not open a scratch file because the file is locked or you do not have the necessary access privileges. (…) | Mylen…
    Mylenium

  • I downloaded mountain lion and then the new office suite (word, ppt, excel) but now when I try to display one of my ppt's it says 'ppt cannot open the file...the file may be corrupt, in use, not a type recognized by ppt etc.." how can I fix it?? HELP

    I downloaded mountain lion and then the new office suite (word, ppt, excel) but now when I try to display one of my ppt's it says 'ppt cannot open the file...the file may be corrupt, in use, not a type recognized by ppt etc.." how can I fix it?? HELP

    Did you try to open teh fle by double-clicking its icon? If the file was made with an older version of Office, you may get that message. Try opeing PP and, from its "File" menu, see if you can open the ppt. I've foundthat often gets around that message and then yo ucan save the file from the newer version.
    If that doesn't work, consider asking in the Microsoft Office: Mac forums here:
    Office for Mac forums
    PowerPoint is not an Apple product and it seems a lot of people around here avoid Office.

  • How Many Times Can I Use The Same Serial Number For Adobe Creative Suite 4?

    I have design standard and was told I can use the same serial number on multiple computers. How many time can I use it? And say I install it on the maximum number of computers, but get a new computer, can I uninstall it on one of the old computers and use it on the new one? And can I use the programs on both computers simultaneously or do I have to use them one at a time?

    Fred Tech wrote:
    Broadly speaking, it depends on the type of license you have.
    Specifically, if you have a single license then officially, you should only install it once on one computer.
    Practically, (unless it has changed with CS4) you maybe able to install it on more then one computer, BUT can only run one instance of the software at a time. You can not run more then one instance of the software concurrently; i.e. you can't run Dreamweaver on Computer 1 and Photoshop on Computer 2. That would be two instances, and is not permitted.
    This is my understanding. I am happy to be corrected if I am wrong
    Fred
    Sorry Fred you are wrong.
    If you have a single license you can install it on as many computers as you like. you can only activate the suite on two computers at anyone time. Work and Home or as many of us do it Desktop and Laptop. You can not use the computers simultaneously. You only have 20 activation/deactivations so use them wisely. Student versions only have one activation. You can not break up the suite installs the suite is considered one application.

  • How do I add Adobe Creative Suite to my MacBook Pro...?

    @Forgive me for asking what may be a really silly question.... but here goes..!
    I currently have the Adobe Creative Suite on my Mac desktop and now I'm wanting to add it to my new MacBook Pro.  How do I install all the apps without having to purchase them again?  I'm logged in and searching but guess I'm missing the info I need to do this.
    Thanks!

    Just install it like you normally would - like you did with your desktop.  You are allowed to have it installed and activated on two machines.  If you need to download it you might find a link for that thru your Adobe account online.
    Other download links might be available thru...
    Download and Installation Help -
    https://helpx.adobe.com/download-install.html

  • Can I install creative suite 6 on more than one device? (I've recently acquired a new laptop for on the go work, and am curious if I can install my adobe software onto such).

    As of recently, I've purchased a new laptop.
    Seeing as how I'm quite used to using my drawing tools in Photoshop and Illustrator (my trusty Wacom Intuos Pro),
    I'm curious as to if I'm able to install my current purchased version of Creative Suite Design Standard 6 onto my laptop (whilst still having it installed on my main at-home work desktop).
    Thank you very much for taking the time to oversee my question, and hopefully respond with an answer.
    Much thanks!

    Thank you for the assistance!
    I shall try to install once I arrive home from school this evening.
    Again, much appreciated!

Maybe you are looking for