| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2658 人关注过本帖
标题:探讨:foxpro.h文件是如何被包含在表单中,有什么办法删除?
只看楼主 加入收藏
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
问题是我的一个预览报表用的空表单也包含了这个foxpro.h文件。这个表单中没有添加任何控件,也没有在任何事件中添加代码。VFP系统会自动为用户添加这个头文件吗?如果是的话,那为什么其他表单没有被自动添加呢?

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-04-05 21:26
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
应该预览那个控件用了,那是另外写的预览模块,在软件包内。你把预览有关的指令注释掉看看。

[ 本帖最后由 TonyDeng 于 2012-4-5 21:29 编辑 ]

授人以渔,不授人以鱼。
2012-04-05 21:28
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
5楼的办法好!我原来找不着包含的代码,打开表单的表(*.scx文件),在备注字段中逐个查找foxpro.h字符串然后删除,也不起作用。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-04-05 21:35
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
以下是引用TonyDeng在2012-4-5 21:28:48的发言:

应该预览那个控件用了,那是另外写的预览模块,在软件包内。你把预览有关的指令注释掉看看。
预览表单完全是个空表单,目的仅仅是定义一个窗口,让报表的内容在这个窗口中显示而已。表单内没有添加任何控件和代码。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-04-05 21:38
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
这个头文件肯定是VFP系统自动添加的。因为是存放在我家里的电脑上。那VFP系统是按照什么条件来添加的呢?为什么其他的表单没有添加呢?我的这个程序中少说也有几十个表单啊。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-04-05 21:41
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
任何.prg都可以调用,不必在.scx表单中。ReportListener是VFP外部提供的一个程序模块,这个程序的代码使用了这个头(必然的,可以想像到它里面很多涉及GDI++和打印参数的量,自己尝试独立编一个类似的程序就知道了)。我想,这就是这个.h文件放在VFP主程序目录中而不是别的附加目录的原因,可能很多模块用到它。

授人以渔,不授人以鱼。
2012-04-05 22:16
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
在VFP的主目录中,有很多.app文件,以下是其中与report相关的三个:
ReportPreview.app
ReportBuilder.app
ReportOutput.app
这些应用程序,使用foxpro.h头文件,是一点都不奇怪的,看看foxpro.h里面的宏常量就知道是这些地方专用的。

授人以渔,不授人以鱼。
2012-04-05 22:23
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
删了#include包含语句,VFP在执行时,会把宏标识符当变量用,编译时不会警告,但运行时就说变量没找到,不信你试试看。

授人以渔,不授人以鱼。
2012-04-05 22:24
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
看看这个文档,它告诉你什么程序使用了foxpro.h头:

redist.txt.zip (75.8 KB)

不是.zip

授人以渔,不授人以鱼。
2012-04-05 22:32
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
程序代码:
*--PRTINFO() Return types
*-- Paper sizes
#define PRTPAPER_LETTER      1       && Letter 8 1/2 x 11 in              
#define PRTPAPER_LETTERSMALL 2       && Letter Small 8 1/2 x 11 in        
#define PRTPAPER_TABLOID     3       && Tabloid 11 x 17 in                
#define PRTPAPER_LEDGER      4       && Ledger 17 x 11 in                 
#define PRTPAPER_LEGAL       5       && Legal 8 1/2 x 14 in               
#define PRTPAPER_STATEMENT   6       && Statement 5 1/2 x 8 1/2 in        
#define PRTPAPER_EXECUTIVE   7       && Executive 7 1/4 x 10 1/2 in     
#define PRTPAPER_A3          8       && A3 297 x 420 mm                   
#define PRTPAPER_A4          9       && A4 210 x 297 mm                   
#define PRTPAPER_A4SMALL     10      && A4 Small 210 x 297 mm             
#define PRTPAPER_A5          11      && A5 148 x 210 mm                   
#define PRTPAPER_B4          12      && B4 250 x 354                      
#define PRTPAPER_B5          13      && B5 182 x 257 mm                   
#define PRTPAPER_FOLIO       14      && Folio 8 1/2 x 13 in               
#define PRTPAPER_QUARTO      15      && Quarto 215 x 275 mm               
#define PRTPAPER_10X14       16      && 10x14 in                          
#define PRTPAPER_11X17       17      && 11x17 in                          
#define PRTPAPER_NOTE        18      && Note 8 1/2 x 11 in                
#define PRTPAPER_ENV_9       19      && Envelope #9 3 7/8 x 8 7/8         
#define PRTPAPER_ENV_10      20      && Envelope #10 4 1/8 x 9 1/2        
#define PRTPAPER_ENV_11      21      && Envelope #11 4 1/2 x 10 3/8       
#define PRTPAPER_ENV_12      22      && Envelope #12 4 \276 x 11          
#define PRTPAPER_ENV_14      23      && Envelope #14 5 x 11 1/2           
#define PRTPAPER_CSHEET      24      && C size sheet                      
#define PRTPAPER_DSHEET      25      && D size sheet                      
#define PRTPAPER_ESHEET      26      && E size sheet                      
#define PRTPAPER_ENV_DL      27      && Envelope DL 110 x 220mm           
#define PRTPAPER_ENV_C5      28      && Envelope C5 162 x 229 mm          
#define PRTPAPER_ENV_C3      29      && Envelope C3  324 x 458 mm         
#define PRTPAPER_ENV_C4      30      && Envelope C4  229 x 324 mm         
#define PRTPAPER_ENV_C6      31      && Envelope C6  114 x 162 mm         
#define PRTPAPER_ENV_C65     32      && Envelope C65 114 x 229 mm         
#define PRTPAPER_ENV_B4      33      && Envelope B4  250 x 353 mm         
#define PRTPAPER_ENV_B5      34      && Envelope B5  176 x 250 mm         
#define PRTPAPER_ENV_B6      35      && Envelope B6  176 x 125 mm         
#define PRTPAPER_ENV_ITALY   36      && Envelope 110 x 230 mm             
#define PRTPAPER_ENV_MONARCH 37      && Envelope Monarch 3.875 x 7.5 in   
#define PRTPAPER_ENV_PERSONAL 38     && 6 3/4 Envelope 3 5/8 x 6 1/2 in   
#define PRTPAPER_FANFOLD_US  39      && US Std Fanfold 14 7/8 x 11 in     
#define PRTPAPER_FANFOLD_STD_GERMAN  40 && German Std Fanfold 8 1/2 x 12 in  
#define PRTPAPER_FANFOLD_LGL_GERMAN  41 && German Legal Fanfold 8 1/2 x 13 in 

*-- Paper bins
#define PRTBIN_UPPER            1
#define PRTBIN_ONLYONE          1
#define PRTBIN_LOWER            2
#define PRTBIN_MIDDLE           3
#define PRTBIN_MANUAL           4
#define PRTBIN_ENVELOPE         5
#define PRTBIN_ENVMANUAL        6
#define PRTBIN_AUTO             7
#define PRTBIN_TRACTOR          8
#define PRTBIN_SMALLFMT         9
#define PRTBIN_LARGEFMT         10
#define PRTBIN_LARGECAPACITY    11
#define PRTBIN_CASSETTE         14
#define PRTBIN_AUTOSELECT       15


这些宏常量,我就不信Preview不用。如果我要自己写这类的程序,即使不知道foxpro.h已经替我写好了,自己也要写一个类似的.h文件。事实上我自己使用的那个const.h里面就有foxpro.h的东西,比如MessageBox()函数的返回值哪个代表按了OK按钮哪个代表按了Cancel按钮,写那些比记忆数字强。

授人以渔,不授人以鱼。
2012-04-05 22:43
快速回复:探讨:foxpro.h文件是如何被包含在表单中,有什么办法删除?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036017 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved