乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 8|回复: 0

我用PDB编写的dcl对话框运行正确,怎么加载不上呢。高手帮我看看,

[复制链接]

7

主题

9

帖子

2

银币

初来乍到

Rank: 1

铜币
37
发表于 2004-5-25 10:55:00 | 显示全部楼层 |阅读模式
我用PDB编写的dcl对话框运行正确,怎么加载不上呢。高手帮我看看,
#include
#include
#include
#include "adsdlg.h"
void initApp();
void unloadApp();
                                                                                                                                                                                                                                                                                                                                                         
void mydcl();                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
void CALLB print_cb(ads_callback_packet *cpkt);
void CALLB ok_cb(ads_callback_packet *cpkt);                                                                                                         
                                                 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
//.............................. 接口函数部分 ..................................
void initApp()
{
                         acedRegCmds->addCommand("mydcl_COMMANDS",
                                                                                                                                                                                                                         "mydcl",
                                                                                                                                                                                                                         "mydcl",
                                                                                                                                                                                                                         ACRX_CMD_TRANSPARENT ,
                                                        mydcl);
}
void unloadApp()
{
                         acedRegCmds->removeGroup("mydcl_COMMANDS");
}
extern "C" AcRx::AppRetCode
acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
{
                         switch (msg)
                         {
                                                         case AcRx::kInitAppMsg:
                                                                                                 acrxDynamicLinker->unlockApplication(pkt);
                                                                                                 acrxRegisterAppMDIAware(pkt);
                                                                                                 initApp();
                                                                                                 break;
                                                         case AcRx::kUnloadAppMsg:
                                                                                                 unloadApp();
                                                                                                 break;
                                                         default:
                                                                                                 break;
                         }
                         return AcRx::kRetOK;
}
void mydcl(void)
{
        ads_hdlg hDlg;
        int dcl_id,what_next;
                         ads_load_dialog("mydcl.dcl", &dcl_id);                                                                                                                         
                         if(ads_new_dialog("mydcl",dcl_id,NULLCB,&hDlg)!=RTNORM)
        {
                acedPrompt("无法初始化对话框!\n");
                acedRetVoid();
        }
        ads_action_tile(hDlg, "print", print_cb);
        ads_action_tile(hDlg, "accept", ok_cb);
                         ads_start_dialog(hDlg, &what_next);                                                                                                                                                                                                                                                                 
                         ads_unload_dialog(dcl_id);
        acedRetVoid();
        }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
         
static void CALLB print_cb(ads_callback_packet *cpkt)                                                                                         
{                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
         char tbuf[80];                                                                                                                                                                                                                                                                                                                                                         
         ads_get_tile(cpkt->dialog, "your_name", tbuf, MAX_TILE_STR);
         acutPrintf("\n 刚才输入的姓名为:%s",tbuf);
}
static void CALLB ok_cb(ads_callback_packet *cpkt)
{
        ads_done_dialog(cpkt->dialog,DLGOK);
}
         
.DCL是:
mydcl:dialog
                 label="对话框";
                 :edit_box
                                                 label="输入你的姓名:";
                         key="your_name";
                         }
        :button
                         label="输出";
                         key="print";
                         fixed=width=true;
                         alignment=centered;
                         }
        ok_only;
}
.def文件是:
DESCRIPTION
LIBRARY                                 mydcl
EXPORTS
                                                                                                         acrxEntryPoint         PRIVATE
                                 acrxGetApiVersion         PRIVATE
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 18:47 , Processed in 0.369814 second(s), 54 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表