C++Builder 程序员博客
24 Aug
__fastcall getcurdir();
{
AnsiString curdir ;
{
getdir(0,curdir);
datadelete->Table2->DatabaseName=curdir;
datadelete->Table2->TableName="测量.db";
datadelete->Table2->Active=true;
datadelete->Table1->DatabaseName=curdir;
datadelete->Table1->TableName="jiegou.db";
datadelete->Table1->Active=true;
datadelete->Q1->DatabaseName=curdir;
datadelete->DataSource2->DataSet=datadelete->Q1;
}
}
朋友们你们看看错在哪?
__fastcall getcurdir();
{
AnsiString curdir ;
{
getdir(0,curdir);
datadelete->Table2->Active=false;
datadelete->Table2->DatabaseName=curdir;
datadelete->Table2->TableName="测量.db";
datadelete->Table2->Active=true;
datadelete->Table1->Active=false;
datadelete->Table1->DatabaseName=curdir;
datadelete->Table1->TableName="jiegou.db";
datadelete->Table1->Active=true;
datadelete->Q1->Active=false;
datadelete->Q1->DatabaseName=curdir;
datadelete->Q1->Active=true;
datadelete->DataSource2->DataSet=datadelete->Q1;
}
}
还是出现同样的错误
[C++ Error] delete.cpp(13): E2040 Declaration terminated incorrectly
朋友们来帮帮忙啊
在线等待啊
__fastcall getcurdir();
这个函数名称后面怎么还跟着一个分号?
__fastcall getcurdir() { AnsiString curdir; getdir(0,curdir); datadelete->Table2->Active=false; datadelete->Table2->DatabaseName=curdir; datadelete->Table2->TableName="测量.db"; datadelete->Table2->Active=true; datadelete->Table1->Active=false; datadelete->Table1->DatabaseName=curdir; datadelete->Table1->TableName="jiegou.db"; datadelete->Table1->Active=true; datadelete->Q1->Active=false; datadelete->Q1->DatabaseName=curdir; datadelete->Q1->Active=true; datadelete->DataSource2->DataSet=datadelete->Q1; }
22 Aug
请问下各位,这句话怎么运行的时候会报Update语句语法错误呢?实在不理解,请大家指点下,谢谢!
ADOQuery1->Open();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("Update info set count = count -'"+Edit1->Text+"' where id = '"+DBText1->Caption+"'");
ADOQuery1->ExecSQL();
谢谢解答
21 Aug
主窗口在关闭时,使用Action=caFree,在运行关闭主窗口时,出现错误如下:
Access Violation at address 400f19dd in module 'vcl60.bpl'.read of address 000002ec.
在on Close,on Destroy事件中设置Action=caFree,或者delete form;都会出现上述错误,问题在哪?如恶化正确关闭主窗口?
FormCloseQuery
CanClose = true;
自己写个析构函数
如果窗口不是动态创建的,就不用作任处理
1楼说的对,caFree是给midi窗口用的
内存出错了,看看哪里没有分配合法内存又使用了。
该回复于2008-08-08 13:11:35被版主删除
不厚道啊
晕倒,
楼上的纯属灌水,
啥问题他都这几句话,
我还以为真来解决问题的呢,
建议设置断点(F5)
然后单步调试(F8,F9)看看吧!
我去微软查了下 这个错误号
原因
如果存在下列一种或多种情况,就可能会出现此问题:
• 没有正确配置 CD-ROM 或 DVD 驱动器。
• 程序 CD-ROM 或 DVD 损坏或变脏。
• Microsoft 数据访问组件 (MDAC) 安装损坏或您没有安装最新版本。
因为我是用硬盘安装的,所以前两条原因根本不存在,并且MDAC我也没有问题呀。
望高人救我!
31 Jul
嘿嘿~~我是新手,请原谅~~
我新建一个HzFormula.hpp文件
整个文件只有以下内容(没有#include #define等 )
namespace Hzclass
{
class classFormula
{
int Formula(int a, int b)
{
return a+b;
}
};
}
using namespace Hzclass;
运行出错:declaration syntax error
20 Jul
c:\program files\microsoft visual studio\vc98\include\winbase.h(4761) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\winbase.h(4769) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\winbase.h(4873) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\winbase.h(4882) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\commdlg.h(541) : error C2501: 'INT' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(541) : error C2501: 'nSizeMax' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\oaidl.h(446) : error C2146: syntax error : missing ';' before identifier 'intVal'
c:\program files\microsoft visual studio\vc98\include\oaidl.h(446) : error C2501: 'INT' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\oaidl.h(446) : error C2501: 'intVal' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\oaidl.h(452) : error C2143: syntax error : missing ';' before '*'
c:\program files\microsoft visual studio\vc98\include\oaidl.h(452) : error C2501: 'INT' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\oaidl.h(452) : error C2501: 'pintVal' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\oaidl.h(519) : error C2146: syntax error : missing ';' before identifier 'intVal'
c:\program files\microsoft visual studio\vc98\include\oaidl.h(519) : error C2501: 'INT' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\oaidl.h(519) : error C2501: 'intVal' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\oaidl.h(526) : error C2143: syntax error : missing ';' before '*'
c:\program files\microsoft visual studio\vc98\include\oaidl.h(526) : error C2501: 'INT' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\oaidl.h(526) : error C2501: 'pintVal' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\oaidl.h(912) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\oaidl.h(1294) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\oaidl.h(3258) :
c:\program files\microsoft visual studio\vc98\include\oaidl.h(5162) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\oaidl.h(6733) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\oaidl.h(6742) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\oaidl.h(6802) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\oaidl.h(6811) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\oleauto.h(61) : error C2143: syntax error : missing ';' before '__stdcall'
c:\program files\microsoft visual studio\vc98\include\oleauto.h(61) : error C2370: 'INT' : redefinition; different storage class
c:\program files\microsoft visual studio\vc98\include\lzexpand.h(31) : see declaration of 'INT'
c:\program files\microsoft visual studio\vc98\include\oleauto.h(63) : error C2143: syntax error : missing ';' before '__stdcall'
c:\program files\microsoft visual studio\vc98\include\oleauto.h(63) : error C2370: 'INT' : redefinition; different storage class
c:\program files\microsoft visual studio\vc98\include\lzexpand.h(31) : see declaration of 'INT'
c:\program files\microsoft visual studio\vc98\include\oleauto.h(76) : error C2143: syntax error : missing ';' before '__stdcall'
c:\program files\microsoft visual studio\vc98\include\oleauto.h(76) : fatal error C1003: error count exceeds 100; stopping compilation
执行 cl.exe 时出错.
Creating browse info file…
BSCMAKE: error BK1506 : cannot open file '.\Debug\p1.sbr': No such file or directory
执行 bscmake.exe 时出错.
shaohao.exe - 1 error(s), 0 warning(s)
这个错误困扰了我很久,,set.h pl.h两个头文件和pl.cpp set.cpp
INT,区分大小写,最好加一个定义
typedef int INT;
另外,不知道你这个cl是哪里来的。对于C++Builder的程序,可以下载Borland C++ Compiler
cl是VC中的编译器
winc的程序,在Microsoft Visual C++ 6.0运行,加入#define WIN32_LEAN_AND_MEAN
#include <windows.h> 后
还是出现这个错误!
Compiling…
pl.cpp
c:\program files\microsoft visual studio\vc98\include\winbase.h(4761) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\winbase.h(4769) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\winbase.h(4873) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\wingdi.h(3210) : error C2143: syntax error : missing ',' before '*'
c:\program files\microsoft visual studio\vc98\include\wingdi.h(3210) : error C2059: syntax error : '*'
c:\program files\microsoft visual studio\vc98\include\wingdi.h(3404) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\wingdi.h(3584) : error C2143: syntax error : missing ',' before '*'
c:\program files\microsoft visual studio\vc98\include\wingdi.h(3584) : error C2059: syntax error : '*'
c:\program files\microsoft visual studio\vc98\include\wingdi.h(3585) : error C2143: syntax error : missing ',' before '*'
c:\program files\microsoft visual studio\vc98\include\wingdi.h(3585) : error C2059: syntax error : '*'
c:\program files\microsoft visual studio\vc98\include\winuser.h(6459) : error C2143: syntax error : missing ',' before '*'
set.cpp
c:\program files\microsoft visual studio\vc98\include\winbase.h(4761) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\winbase.h(4769) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\winbase.h(4873) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\winbase.h(4882) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\wingdi.h(2677) : error C2143: syntax error : missing ',' before '*'
c:\program files\microsoft visual studio\vc98\include\wingdi.h(2677) : error C2059: syntax error : '*'
c:\program files\microsoft visual studio\vc98\include\wingdi.h(3210) : error C2143: syntax error : missing ',' before '*'
c:\program files\microsoft visual studio\vc98\include\wingdi.h(3210) : error C2059: syntax error : '*'
c:\program files\microsoft visual studio\vc98\include\wingdi.h(3404) : error C2061: syntax error : identifier 'INT'
c:\program files\microsoft visual studio\vc98\include\wingdi.h(3584) : error C2143: syntax error : missing ',' before '*'
执行 cl.exe 时出错.
shaohao2.exe - 1 error(s), 0 warning(s)
贴代码。
16 Jul
我在调用CRYPTAPI的CryptMsgCalculateEncodedLength函数时,编译器提示我连接错误,具体错误是:
[Linker Error] Unresolved external 'CryptMsgCalculateEncodedLength' referenced from D:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\DIYONGQITA\MAINFRM.OBJ
但是我已经添加了WINCRYPT.H头文件了,而且头文件中有定义此函数,但是不知道为什么编译器会提示这个错误,很急,谢谢各位大侠了!!!
估计是该函数的实现部分没找到而出现连接错误
如果是lib文件,请把lib文件加到工程
如果是CPP文件,请把文件放到搜索路径的目录,或者添加新的搜索路径,让编译器找到该文件
也还可以把该文件直接添加到工程
这个函数是定义在WINCRYPT.H中的,我已经include了,应该是实现文件找不到,我查了下MSDN,这个函数需要的是:
Requirements
OS Versions: Windows CE 5.0 and later.
Header: Wincrypt.h.
Link Library: Coredll.lib
现在问题就出来了……,Coredll.lib这个文件竟然找不到,偶滴神啊,这该咋整啊?还有一个问题,用CryptHashData这个函数的需要是和CryptMsgCalculateEncodedLength一样的,但是不用添加Coredll.lib就能运行!
该回复于2008-07-10 02:49:29被版主删除
15 Jul
当重新启动计算机时,会弹出错误消息 ;(申明:我的程序是随系统启动而启动的)
Error reading TrayIcon1->Visible:Cannot Create System Shell
我的程序中用到了TrayIcon控件
不知道是什么原因引起的,能避免吗?
这个问题我也遇到过,我现在加了一个群,这个群人气较好,也的确有高手,不但可以交流问题,而且还可以接项目赚钱,QQ群号是:陆.肆.柒.玖.捌.柒.贰.零,不要说我做广告,看看便知,如需要的话加入试试,如果你发现好的交流群也别忘了告诉我啊!呵呵!
当 TrayIcon1->Visible = true 时,再设置 TrayIcon1->Visible = true 则会报错。
那如何修改呢?
TrayIcon1 的控件的属性设置Visible为True
我只在程序中加了
//——————————————————–
void __fastcall TForm1::TrayIcon1Restore(TObject *Sender)
{
if(TrayIcon1-> Tag)
{
Position = poDesktopCenter;
Visible = true;
TrayIcon1-> Tag = 0;
}
}
//——————————————————–
我试着在程序中去掉其中一个,可结果不行
if(TrayIcon1->Visible==false)
TrayIcon1->Visible=true
谢谢楼上的提醒,不过还是不行
点击托盘图标,都弹不出窗体来
//——————————————————–
我进行了修改如下:点击托盘图标,可以弹出窗体,不知能否解决此问题
void __fastcall TForm1::TrayIcon1Restore(TObject *Sender)
{
if(TrayIcon1-> Tag)
{
Position = poDesktopCenter;
if(!Visible)
{
Visible = true;
}
TrayIcon1-> Tag = 0;
}
}
//---请问这个Visible与TrayIcon1->Visible有什么区别
直接用Visible应该是form的Visible吧
在主窗体的closequery中加入一个CLOSE试试,这样当电脑重启时,你的程序会自己退出
回楼上Gamehack的:
在主窗体的closequery事件里我已加了Application->Terminate(); 应该也退出了吧?
谢谢Loveshell
应该是Form的Visible ,因为在我测试时,我把Visible=false;点击托盘图标,无法显示窗体
那我写的下面这语句对TrayIcon1不起作用啊,
if(!Visible)
{
Visible = true;
}
但我没有在其它地方设TrayIcon1->Visible=true
15 Jul
如下这个错误提示是什么意思呀?我用c++ builder 6写的程序,这里只是一个文件处理的呀,一个for循环调用它的,前几个文件都可以,但过一会儿就不行了.
Debugger Exception Notification
Project Project1.exe raised exception class EAccessViolation with message 'Access violation
at address 40002269 in module 'rtl60.bpl'.Write of adress 00003635'.Process stopped.Use Step
or Run to coninue.
没人能帮你,还是自力更生吧。
请用代码说明问题!
通俗的说,非法内存操作
非法内存操作
29 Jun
两个问题:1、若soket服务器端没有运行,soket客户端出现“Asynchonous soket error”,错误代码10053。
2、若soket服务器端不时出现“Asynchonous soket error”,错误代码10053,另外还有10054错误。估计是客户端强行关机造成。
这些提示窗口并不影响程序运行,如何取消这些错误窗口。
同上和你用的控件有关
一般都会提供一个总的入口集中处理错误。