AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Gestión de lenguajes externos / Lenguaje C
  • Presentación
  • Gestión de los objetos en C
  • Migración de una aplicación WINDEV 5.5 que soporta objetos en C
  • Gestión de los archivos de datos en C o C++
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Estaba usando C con WINDEV 5.5. ¿Cómo proceder en WINDEV 28?
Presentación
Usted tiene la habilidad de usar lenguajes externos con WINDEV. Para más detalles sobre las diferentes formas de utilizar elementos desarrollados en WINDEV con un lenguaje externo, véase idiomas externos en WINDEV.
Este párrafo presenta las operaciones que deben realizarse para migrar una aplicación WINDEV 5.5 que utiliza C a WINDEV 29.
Hay que tener en cuenta varios casos:
  • gestión de los objetos en C
  • administrar los archivos HyperFileSQL en C o C++
Observaciones:
  • Importante: Las llamadas DDE (a través de CallDDE) en modo de 16 bits ya no están disponibles en esta versión de la interfaz externa.
  • nuevo: La función CallWD de la interfaz externa soporta ahora una sintaxis idéntica a la de nWDExecute. Esto le permite pasar en un parámetro a esta función una cadena que contiene un código WLanguage estándar, sin utilizar la sintaxis anterior como "SCREEN,INPUT".
Gestión de los objetos en C

Migración de una aplicación WINDEV 5.5 que soporta objetos en C

Para migrar una aplicación WINDEV 5.5 que soporta objetos en C:
  1. Migre su proyecto WINDEV 5.5 a WINDEV 7.5, y luego ábralo con WINDEV 29.
  2. copy los archivos WINDEV.c y WINDEV.h que se encuentran en el subdirectorio "ExternalLanguages\C" de WINDEV en el directorio de su aplicación. Estos archivos reemplazan a los archivos existentes.
  3. Borre las llamadas a CALLDDE de su aplicación C. Esta función sólo se puede utilizar en las aplicaciones en modo de 16 bits.
  4. La gestión de los menús se puede realizar mediante uno de los siguientes métodos:
    • Recuperación de los accesos directos de los menús con WDKEY = "*M*":
      BOOL bEnd = FALSE;
      while (!bEnd)
      {
      CALLWD("Screen,Input");
      if (strcmp(WDKey,"*M*") == 0)
      {
      if (strcmp(WDString,"FO") == 0) OpenFile;
      if (strcmp(WDString,"FS") == 0) SaveFile;
      if (strcmp(WDString,"FQ") == 0) bEnd = TRUE;
      }
    • Recuperación de los accesos directos de los menús mediante la gestión directa del acceso directo de la opción:
      1. En el código de cada opción del menú de Process, asigna el atajo a la palabra clave WDKey. Por ejemplo, para Archivo...Abrir:
        WDKey="FO";
      2. Modifique el código C de la siguiente manera:
        BOOL bEnd = FALSE;
        while (!bEnd)
        {
        CALLWD("Screen,Input");
        if (strcmp(WDKey,"FO") == 0) OpenFile;
        if (strcmp(WDKey,"FS") == 0) SaveFile;
        if (strcmp(WDKey,"FQ") == 0) bEnd = TRUE;
        if (strcmp(WDKey,"ESC") == 0) bEnd = TRUE;
        }
  5. Vuelva a crear la biblioteca de su aplicación WINDEV.
  6. Recompile su proyecto en C.
  7. copy las DLLs WINDEV necesarias en el directorio del ejecutable de su aplicación. Atención: wdxxxle.dll es obligatorio.
Observación: Para conocer la lista de DLLs necesarias, cree el ejecutable de su aplicación en WINDEV.
Gestión de los archivos de datos en C o C++
Para migrar una aplicación WINDEV 5.5 que gestiona los archivos de datos en C o C++:
  1. Migre su proyecto de WINDEV 5.5 a WINDEV 7.5 y ábralo con WINDEV 29.
  2. Genere el esqueleto de su aplicación en la versión 29:
    • abrir el editor de análisis (Cargar análisis del proyecto en los botones de acceso rápido).
    • en la pestaña "Análisis", en el grupo "Análisis", despliegue "Generación" y seleccione "Generación avanzada".
      Atención: No sobreescriba el esqueleto utilizado por su aplicación.
  3. Cree la biblioteca de su aplicación WINDEV. Cree (si es necesario) una configuración de proyecto del tipo "Biblioteca" y genere esta configuración.
  4. Borra los archivos WDHF5.c y WDHF5.h del directorio de tus códigos fuente para evitar cualquier confusión.
  5. En tu proyecto C, borra el reference de dependencia a los archivos WDHF5.c y WDHF5.H.
  6. copy los siguientes archivos que se encuentran en el subdirectorio "ExternalLanguages\C" de WINDEV en el directorio de su aplicación.
    • HFConstant.h
    • HFContext.cpp
    • HFContext.h
    • IHFContext.h
    • WDHF.h
    • WDHF.cpp
    • WINDEV.c
    • WINDEV.h
    • ProXY.h
    • Central.h
    • el archivo <nombre del análisis>. h generado por el análisis WINDEV (punto 2). Este archivo se encuentra en el directorio del análisis del proyecto WINDEV.
    • el archivo <nombre del análisis>.cpp generado por el análisis WINDEV (punto 2). Este archivo se encuentra en el directorio del análisis del proyecto WINDEV.
    • la biblioteca (archivo.WDL) de la aplicación WINDEV.
  7. Añade los siguientes archivos al proyecto C:
    • HFContext.cpp
    • WDHF.cpp
  8. En la fuente C inicial:
    • Sustituye #include "wdhf5.h" por #include"wdhf.h".
    • Reemplace #include "*.WDR" por #include"<Análisis>.h" donde <Análisis> corresponde al nombre de su análisis
    • copy las declaraciones de estructura encontradas en el esqueleto de <Análisis>.cpp y las renombra. Estas declaraciones deben copiarse justo después de la línea #include"<Análisis>.h".
      Las declaraciones de estructura tienen el siguiente formato:
      st<FILE> g<FILE>

      donde FILE es el nombre del archivo (en mayúsculas).
      Estas declaraciones deben ser renombradas de la siguiente manera:
      st<FILE> <File Abbreviation>

      donde Abreviatura de archivo corresponde a la abreviatura utilizada para designar el archivo.
    • Si el código utiliza la función HOpenAnalysis, debe especificarse la extensión del archivo del análisis (.WDD) en el primer parámetro de la función.
    • Borre las siguientes líneas del código fuente C:
      • la declaración de la array correspondiente al contexto HFSQL.
        /* Array used to initialize the HFSQL context*/
        stHFFileCtx stArrCtx[]=\{
        { (char*)&dp,sizeof(st),"STATE",NULL },
        { (char*)&dp,sizeof(ci),"CITY",NULL },
        .....
        };
        # define NBCTX (sizeof(stArrCtx)/sizeof(stHFFileCtx))
      • la inicialización de HyperFileSQL
        /* mandatory initialization of HYPERFILESQL */
        CALLWD("HFCTX");
        if (!Hinitshare(WDLong,&stArrCtx[0],NBCTX))
        {CALLWD("Error, Error initializing the HF context.");}

        Este código debe ser sustituido por el siguiente Line:
        bInitHF()
      • la llamada a hfEndShareShare.
    • copy las siguientes líneas de código que se encuentran en el esqueleto <Analysis>.cpp y renómbralas. Estas líneas deben copiarse justo después de bInitHF.
      Código encontrado en el esqueleto (una Line por archivo):
      gclHF.bAssociate(<FILE>,&g<FILE>,sizeof(g<FILE>));

      donde FILE es el nombre del archivo (en mayúsculas).
      Estas declaraciones deben ser modificadas de la siguiente manera:
      bAssociate(<FICHIER>,&<File Abbreviation>,sizeof(<File Abbreviation>));

      donde Abreviatura de archivo corresponde a la abreviatura utilizada para designar el archivo.
  9. Recompile su proyecto C o C+++.
  10. copy las DLLs WINDEV necesarias en el directorio del ejecutable de su aplicación.
    Atención: wdxxxle.dll es obligatorio.
Observación: Para conocer la lista de DLLs necesarias, cree el ejecutable de su aplicación en WINDEV.
Versión mínima requerida
  • Versión 9
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 06/07/2022

Señalar un error o enviar una sugerencia | Ayuda local