关于编译开关的问题 我在宿主程序中定义的一个全局的编译开关,请问在DLL文件中能不能根据该编译开关进行条件判断(就是该DLL文件能不能响应宿主程序中定义的全局编译开关),我试过好象是不能得到响应,不知是否正确,望高手点解!!!!!!!!!!!!!!!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的问题是不是类似移植性问题??主程序代码在不同的平台或者版本下进行编译,而DLL要主动适应主程序的变化????是这个吗?我能想到的就是这两个东西(主和DLL)同过一个函数先做个对话吧.比如用一个GetInfo之类的函数先判断主程序的版本.之后进行分支吧. 编译开关只是用在编译过程,目标代码应该不会保留这个信息吧。你可以自己定义一个标志供DLL识别啊。 在主程序中根据编译开关设置指示变量。传送给dll就可以了。就像SydPink兄台说的那样做个getinfo(info:integer)(假设)。然后{$IFDEF windows}info:=0;{$ENDIF}{$IFDEF liunx}info:=1;{$ENDIF}getinfo(info); 在DBGRIDEH中加入选择列 将FileListBox的内容向ListView里写,希望还能排序 帮朋友问,求程序算法原码?? 麻烦各位帮我写一个函数,传入一个Int64的参数,然后返回一个0101的二进制字符串。 小问题~怎么用SQL判断某表是否存在于这个数据库中~!! 在线等,解决后,马上结贴!!! 急~~~~~~~~~~~~~ 如何监测一台机器上的程序是否运行? 点TO点数据传输,高手赐教 sql查询问题(在线等候) 求select的一个简单问题??? 在delphi 7中有些控件找不找。请大家个帮忙 非常急,请大家帮我一把,真的非常感谢 请教高手一个关于类的问题(急)
我能想到的就是这两个东西(主和DLL)同过一个函数先做个对话吧.比如用一个GetInfo之类的函数先判断主程序的版本.之后进行分支吧.
你可以自己定义一个标志供DLL识别啊。
getinfo(info:integer)(假设)。
然后
{$IFDEF windows}
info:=0;
{$ENDIF}
{$IFDEF liunx}
info:=1;
{$ENDIF}
getinfo(info);