社区
C++ Builder
帖子详情
悬赏,求教BCB中加::问题
嘻嘻哈哈穷开心
2012-10-12 03:02:23
我是BCB菜鸟,最近刚开始学习,有一问题请教高手们
为什么有些函数会提示错误"Call of nonfunction",加入不加::则会运行成功.
多谢
如有满意答案,会加分
...全文
164
20
打赏
收藏
悬赏,求教BCB中加::问题
我是BCB菜鸟,最近刚开始学习,有一问题请教高手们 为什么有些函数会提示错误"Call of nonfunction",加入不加::则会运行成功. 多谢 如有满意答案,会加分
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
嘻嘻哈哈穷开心
2012-10-17
打赏
举报
回复
[Quote=引用 15 楼 的回复:]
void __fastcall TForm1::CopyFileClick(TObject *Sender)
跟这个CopyFile控件是不是有关?
[/Quote]
就是这个问题,已经修改过来了
嘻嘻哈哈穷开心
2012-10-17
打赏
举报
回复
[Quote=引用 17 楼 的回复:]
楼上所言极是。
楼主将这个控件(看起来象个按钮?)的名字命名为CopyFile,正好和Windows API提供的CopyFile同名。因此引起的冲突。所以我是建议给组件命名时使用前缀,如btnCopyFile,这样容易标识,并且一般不会重名。
[/Quote]
多谢多谢,就是这个问题,竟然没有注意,现在已经OK了
多谢妖哥
嘻嘻哈哈穷开心
2012-10-17
打赏
举报
回复
[Quote=引用 14 楼 的回复:]
Unit2.h文件中有什么内容?
[/Quote]
就是一个新的Form
ccrun.com
2012-10-16
打赏
举报
回复
Unit2.h文件中有什么内容?
嘻嘻哈哈穷开心
2012-10-16
打赏
举报
回复
[Quote=引用 12 楼 的回复:]
看不出什么问题,你的代码多吗?如果不涉及隐私,贴出来看看。
[/Quote]
不多,自己写着玩儿的,只是好奇为什么一直有问题
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "iostream.h"
#include <fstream>
#include "Unit1.h"
#include "Unit2.h"
#include <time.h>
#include <stdio.h>
#include "IniFiles.hpp"
#include <windows.h>
#include<Registry.hpp>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
using namespace std;
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CopyFileClick(TObject *Sender)
{
AnsiString asFlieName = ExtractFilePath(Application->ExeName)+ "bcmvars.nvm";
if ( !FileExists( asFlieName ) )
{
//ShowMessage("error");
MessageBox(NULL,"NO CONFIG FILE EXIST!!!","ERROR",MB_ICONERROR);
}
::CopyFile(asFlieName.c_str(),"C:\\WINDOWS\\system32\\drivers\\bcmvars.nvm",false);
Close();
}
其他控件的代码,跟这个无关,就这样的?为什么非要加::
ccrun.com
2012-10-16
打赏
举报
回复
楼上所言极是。
楼主将这个控件(看起来象个按钮?)的名字命名为CopyFile,正好和Windows API提供的CopyFile同名。因此引起的冲突。所以我是建议给组件命名时使用前缀,如btnCopyFile,这样容易标识,并且一般不会重名。
碧海情天-赵亮
2012-10-16
打赏
举报
回复
把CopyFile控件更名为copyFile看看。
碧海情天-赵亮
2012-10-16
打赏
举报
回复
void __fastcall TForm1::CopyFileClick(TObject *Sender)
跟这个CopyFile控件是不是有关?
ccrun.com
2012-10-15
打赏
举报
回复
看不出什么问题,你的代码多吗?如果不涉及隐私,贴出来看看。
嘻嘻哈哈穷开心
2012-10-15
打赏
举报
回复
[Quote=引用 10 楼 的回复:]
引用 7 楼 的回复:
只有一个using namespa,其他没有啦
using的什么namespace?那个名字空间中是否也有CopyFile的函数?
[/Quote]
using namespace std;
ccrun.com
2012-10-12
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
只有一个using namespa,其他没有啦
[/Quote]
using的什么namespace?那个名字空间中是否也有CopyFile的函数?
嘻嘻哈哈穷开心
2012-10-12
打赏
举报
回复
[Quote=引用 8 楼 的回复:]
引用 5 楼 的回复:
CopyFile ,你在哪个代码里用,工程怎么建立的,这个是API,不会这么复杂啊
就是在BCB里使用的,包含过winbase.h之后,必须加::才能编译成功.为什么?
[/Quote]
还需要头文件,还有其他操作,才能用windows API函数么?
嘻嘻哈哈穷开心
2012-10-12
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
CopyFile ,你在哪个代码里用,工程怎么建立的,这个是API,不会这么复杂啊
[/Quote]
就是在BCB里使用的,包含过winbase.h之后,必须加::才能编译成功.为什么?
嘻嘻哈哈穷开心
2012-10-12
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
引用 4 楼 的回复:
嗯,是CopyFile 提示的是call of nonfunction
CopyFile是Windows API,在这个函数前面加::是可以的。你的工程中用到了什么名字空间?
[/Quote]
只有一个using namespa,其他没有啦
ccrun.com
2012-10-12
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
嗯,是CopyFile 提示的是call of nonfunction
[/Quote]
CopyFile是Windows API,在这个函数前面加::是可以的。你的工程中用到了什么名字空间?
缘中人
2012-10-12
打赏
举报
回复
CopyFile ,你在哪个代码里用,工程怎么建立的,这个是API,不会这么复杂啊
嘻嘻哈哈穷开心
2012-10-12
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
copyfile 注意大小写
[/Quote]
嗯,是CopyFile 提示的是call of nonfunction
缘中人
2012-10-12
打赏
举报
回复
copyfile 注意大小写
嘻嘻哈哈穷开心
2012-10-12
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
::是表示域的操作符,对于Windows API来说,前面加::可以和VCL一些同名的函数区别出来。而VCL的函数光加::则是画蛇添足,如果不指明名字空间,就会起反作用。
[/Quote]
就比如用copyfile函数,右键find Declaration 可以找到这个函数,为什么不能直接用这个函数?
谢谢啊,我刚开始学习
ccrun.com
2012-10-12
打赏
举报
回复
::是表示域的操作符,对于Windows API来说,前面加::可以和VCL一些同名的函数区别出来。而VCL的函数光加::则是画蛇添足,如果不指明名字空间,就会起反作用。
BCB
中的TComboBox
前面已经介绍过TListBox, 有属性支持用户选择多行(复选), 但TListBox有一些缺点, 就是比较占地方, 不用... 现在, 我们来介绍一下
BCB
中更常用的组件:TComboBox. 先来看一下程序吧: //--------------------------
BCB
error:Fatal: Unable to open file 'DCLUSR.LIB',E2209 Unable to open include file 'SUIForm.hpp'
3、对于“E2209 Unable to open include file 'SUIForm.hpp'这一类的错误,一看就知道是找不到头文件的
问题
,往往需要点击Project->Option,Project Option for xxx.exe中的directory/conditionals页面中的include ...
BCB
图像处理总结
近期遇到了一下图像处理的
问题
,特总结一下先说截图方式一、画布(Canvas)Graphics::TBitmap* bmp=new Graphics::TBitmap;TCanvas* canvas=new TCanvas;HDC hdc=GetDC(NULL);canvas->Handle=hdc;bmp->Width=Screen-...
Victor控件
打开串口 控件->Read()读, 控件->Write()写. 可以处理控件的事件, 但不是必须的. 控件安装方法 (这个方法适用于所有VCL控件): 1.
BCB
菜单: Project->Options->Packages->Add 如果是
BCB
6:...
关于在
bcb
中调用外部程序的用法
1:用system("")运行(简单,像在CMD命令行一样) 2:用WinExec()运行 3:用CreateProcess运行 4:用ShellExecute运行.... ...函数原型: UINT WinExec(LPCSTR lpCmdLine,UINT uCmdShow);...参数说明:(激活的意思是能接受...
C++ Builder
13,870
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章