• 命令行客户端程序编制和编译设置


    创建命令行客户端的基本程序大纲
     
    main(int argc, char* argv[])
    {
    /*LINE 001*/ MODNAME("main:appname");
    /*LINE 002*/ 定义程序变量;
    /*LINE 003*/ dstat = clInitMB2(argc, &argv, NULL); //必须在这里调用
    /*LINE 004*/ if (不是GUI模式)
    /*LINE 005*/    dstat = uiInitializeShowTextNotify (myShowText); //(可选)为uiShowText注册回调函数
    /*LINE 006*/ dstat = clTestNetwork (); //必须 检查Metaphase Network
    /*LINE 007*/ dstat = clInitialize2 (TRUE); //必须 初始化命令行会话
    /*LINE 008*/ if (不是GUI模式) //此区段可选(如无此区段,使用Trusted user session)
    /*LINE 009*/ {
    /*LINE 010*/   if (提供了usrName和password)
    /*LINE 011*/   {
    /*LINE 012*/      dstat = clLogin2 (usrName, password, &stat); // login OMF server
    /*LINE 013*/      dstat = smGetSessionUsrName (&usrName); // (用于其他方面)获取当前会话的用户名
    /*LINE 014*/   }
    /*LINE 015*/ }
    /*LINE 016*/ if (GUI模式)
    /*LINE 017*/ {
    /*LINE 018*/   dstat = clInitGUISvc2 (&mfail); //(如果是GUI模式)必须,初始化GUI server
    /*LINE 019*/ }
    /*LINE 020*/ if (捕获模式) //此区段可选
    /*LINE 021*/ {
    /*LINE 022*/   dstat = uiSetCaptureFile(capFileName); //(此区段必须) 设置捕获文件(必须)
    /*LINE 023*/   uiSetCaptureOn (); //(此区段必须) 打开捕获开关
    /*LINE 024*/ }
    /*LINE 025*/ dstat = smSetSessionLocale (locale); //(必须) 设置会话对象的区域属性(if *local==NULL, 则为英文环境)
    /*LINE 026*/ 这里开始做与业务相关的事情
    /*LINE 027*/ dstat = clReleaseServers (); // (必须)释放消息服务
    /*LINE 028*/ CLEANUP:
    /*LINE 029*/  if (someObjectPtr != NULL) objDisposeAll(someObjectPtr); // 释放对象内存
    /*LINE 030*/  if (someSqlPtr != NULL) objSqlDispose(someSqlPtr); // 释放SQL对象内存
    /*LINE 031*/  clLogout(); // (Required)logout from OML server
    /*LINE 032*/  clTerminate(); // (Required)Terminates custom command line session.
    /*LINE 033*/ EXIT:
    /*LINE 034*/  if (!DSOK) uiShowFatalError(dstat, WHERE); //(Required)
    /*LINE 035*/  exit (DSOK ? EXIT_SUCCESS/*it's 0*/ : EXIT_FAILURE/*it's 1*/); //(Required)
    /*LINE 036*/  return dstat; //(Required)
    }
     

    命令行客户端程序的***mk.def文件
     
    ////////////////////////
    // INCLUDES
     
    *ELSEIF NT_OS
    INCLUDES = \
            -I$(UI)\include \
            -I$(OSDIR)\include \
            -I$(SM)\include \
            -I$(USC)\include \
            -I$(CSA)\include \
            -I$(DDBDIR)\include \
            -I$(METADB)\include \
            -I$(APC)\include \
            -I$(OMF)\include \          // %MTI_ROOT%\SUPPORT\OMF\Include 目录
            -I$(PRODUCT_BASE)\include   // 客户化目录\dir\include 目录
    *IFEND
     
    ////////////////////////
    // LIBS
     
    REM OMF libraries
    set LIBS=%OMF%\lib\libomfcl.lib
    set LIBS=%LIBS% %PRODUCT_BASE%\lib\libbbkcl.lib // 添加客户化目录\dir\lib\lib***cl.lib链接文件
  • 相关阅读:
    java学习-String上的操作
    java日常-String/StringBuilder/StringBuffer
    CentOS配置ip、修改主机名、重启
    java日常-新导入项目出现Java compiler level does not match the version of the installed java project facet问题处理
    MySql-Left join/right join/inner join-区别
    MySql-流程函数
    07—mybatis注解配置一
    06—mybatis缓存机制
    05—动态sql
    04—mybatis的关联映射
  • 原文地址:https://www.cnblogs.com/hcfalan/p/422519.html
Copyright © 2020-2023  润新知