| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 630 人关注过本帖
标题:VB6.0在编译declare语句时报错,无法通过
只看楼主 加入收藏
qfww
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-3-8
收藏
 问题点数:0 回复次数:2 
VB6.0在编译declare语句时报错,无法通过
是这样的,我做了一个DLL文件,然后在exe工程里的(general)做declare,但编译时即不通过,报如下错误:
compile error:
     constants,fixed-length strings,arrays,user-defined types and declare statements not allowed as public members of object modules

查询帮助,其意思为:“常数、固定长度字符串、数组、自定义类型与 Declare 语句不能是对象模块中的 Public 成员”。

我没辙了,在网上找了些案例,新建一个空的exe的工程,拷入案例中的declare声明语句,所有源代码如下:

Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
  (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
  lParam As Any) As Long
  
Private Sub Command1_Click()
MsgBox ("nihao")
End Sub

就这样一个工程,编译时还是报相同错误,看样子是编译器的问题,我该怎么办?

[ 本帖最后由 qfww 于 2014-3-8 20:29 编辑 ]
搜索更多相关主题的帖子: public 源代码 members general statements 
2014-03-08 20:26
qfww
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-3-8
收藏
得分:0 
百度了下,在declare前增加private即编译通过。但看了那么多资料,都是声明的public declare,这是什么状况
2014-03-08 20:46
qfww
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-3-8
收藏
得分:0 
新的进展,把declare声明前增加private,编译可以通过了,但运行exe时无法正常调用DLL,在网上一查,才发现VB制造的active DLL是不能通过declare调用的,晕死,这不白忙乎!

把declare去掉,然后在工程里面引用DLL,用类似于使用控件的方式,这个DLL可以正常使用了。

但如果不发表为标准DLL,就无法提供函数接口给其他程序调用,所以这段时间走好大弯路,还的研究如何使VB输出标准DLL才行
2014-03-08 22:27
快速回复:VB6.0在编译declare语句时报错,无法通过
数据加载中...
 
   



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

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