delphi总是说未声明!懂得来看看!

作者&投稿:菜魏 (若有异议请与网页底部的电邮联系)
delphi高手来~看看,瞧瞧!~

*******************************
* 编 译 错 误 信 息 *
*******************************
';' not allowed before 'ELSE' ElSE前不允许有“;”
'' clause not allowed in OLE automation section 在OLE自动区段不允许“”子句
'' is not a type identifier 不是类型标识符
'' not previously declared as a PROPERTY 前面没有说明PROPERTY
'GOTO ' leads into or out of TRY statement GOTO 进入或超出TRY语句的范围
clause expected, but found 要求子句,但出现
16-Bit fixup encountered in object file '' 在对象文件遇到16位修复
486/487 instructions not enabled 不能用486/487指令
Abstract methods must be virtual or dynamic 抽象方法必须为虚拟的或动态的
Array type required 需要数组类型
Assignment to FOR-Loop variable '' 给FOR循环变量赋值
Bad argument type in variable type array constructor 在变量类型数组结构中不正确的参数类型
Bad file format '' 错误的文件格式
Bad file format: 错误的文件格式
Bad global symbol definition: '' in object file '' 对象文件''中错误的全局符号定义''
Bad unit format: 错误的单元格式
BREAK or CONTINUE outside of loop BREAK或CONTINUE超出循环
Cannot add or subtract relocatable symbols 不能增加或减少可重置的符号
Cannot assign to a read-only property 不能指定只读属性
Cannot BREAK, CONTINUE or EXIT out of a FINALLY clause 超出FINALLY子句的范围,不能使用BREAK,CONTINUE或EXIT语句
Cannot initialize local variables 不能初始化局部变量
Cannot initialize multiple variables 不能初始化多个变量
Cannot initialize thread local variables 不能初始化线程局部变量
Cannot override a static method 不能覆盖静态方法
Cannot read a write-only property 不能读取只写属性
Case label outside of range of case expression CASE标号超出了CASE表达式的范围
Circular unit reference to 对单元循环引用
Class already has a default property 类已具有默认的属性
Class does not have a default property 类没有默认的属性
Class or object types only allowed in type section 在类型区段只允许有类或对象类型
Class type required 需要类类型
Close error on 文件关闭错误
Compile terminated by user 用户中止编译
Constant expected 要求常量
Constant expression expected 要求常量表达式
Constant expression violates subrange bounds 常量表达式超出子界范围
Constant object cannot be passed as var parameter 常量对象不能作为变量参数传递
Constant or type identifier expected 要求常量或类型标识符
Constants cannot be used as open array arguments 常量不能用作打开数组参数
Constructing instance of '' containing abstract methods 构造的实体包含抽象的方法
Could not compile used unit '' 不能用单元编译
Could not create output file 不能建立输出文件
Could not load RLINK32.DLL 不能加载RLINK32.DLL
Data type too large: exceeds 2 GB 数据类型太大:超过2GB
Declaration of differs from previous declaration 的说明与先前的说明不同
Default property must be an array property 默认的属性必须为数组属性
Default values must be of ordinal, pointer or small set type 默认的值必须为序数、指针或小集类型
Destination cannot be assigned to 目标不能指定
Destination is inaccessible 目标不能存取
Dispid '' already used by '' DISPID标识号已被使用
Dispid clause only allowed in OLE automation section DISPID子句只能在OLE自动区段中使用
Division by zero 除数为零
Duplicate case label CASE标号重复
Duplicate tag value 重复的标志值
Dynamic method or message handler not allowed here 这里不允许有动态方法或信息处理程序
Dynamic methods and message handlers not allowed in OLE automation section在OLE自动区段不允许有动态方法或消息处理程序
Element 0 inaccessible - use 'Length' or 'SetLength' 元素0不能存取-使用LENGTH或SETLENGTH
Error in numeric constant 数值常量错误
EXCEPT or FINALLY expected 要求EXCEPT或FINALLY
EXPORTS allowed only at global scope EXPORTS只允许在全局范围使用
Expression has no value 表达式没有值
Expression too complicated 表达式太复杂
Field definition not allowed in OLE automation section 在OLE自动区段中不允许域定义
Field definition not allowed after methods or properties 在方法或属性后不允许域定义
Field or method identifier expected 要求域或方法标识符
File not found: 文件没有找到
File type not allowed here 这儿不允许文件类型
For loop control variable must be simple local variable FOR循环控制变量必须为简单局部变量
For loop control variable must have ordinal type FOR循环控制变量必须为序数类型
FOR or WHILE loop executes zero times - deleted FOR或WHILE循环执行零次-删除
FOR-Loop variable '' cannot be passed as var parameter FOR循环变量不能作为参数传递
FOR-Loop variable '' may be undefined after loop 在循环后的FOR循环变量是不确定的
Function needs result type 函数需要结果类型
Identifier redeclared: '' 标识符重复说明
Illegal character in input file: '' ($) 在输入文件中的非法字符''
Illegal message method index 非法的消息方法指针
Illegal reference to symbol '' in object file '' 在对象文件中对符号的非法引用
Illegal type in OLE automation section: '' 在OLE自动区段中的非法类型
Illegal type in Read/Readln statement 在Read/Readln语句中的非法类型
Illegal type in Write/Writeln statement 在Write/Writeln语句中的非法类型
Inaccessible value 不可存取的值
Incompatible types: '' and '' 不兼容的类型和
Incompatible types: 不兼容的类型
Inline assembler stack overflow 内联汇编溢出
Inline assembler syntax error 内联汇编语法错误
Instance variable '' inaccessible here 实体变量在这里不能存取
Integer constant or variable name expected 要求整形常量或变量名
Integer constant too large 整型常量太大
Internal error: 内部错误
Invalid combination of opcode and operands 操作码与操作对象的无效组合
Invalid compiler directive: '' 无效的编译指令
Invalid function result type 无效的函数值类型
Invalid message parameter list 无效的消息参数列表
Invalid register combination 无效的寄存器组合
Invalid typecast 无效的TYPECASE
Label '' is not declared in current procedure 在当前的过程中没有说明标号
Label already defined: '' 标号已经定义
Label declaration not allowed in interface part 在界面部分不允许标号说明
Label declared and referenced, but not set: '' 标号被说明及引用,但不能设置
Label expected 要求标号
Left side cannot be assigned to 左边不能赋值
Line too long (more than 255 characters) 行太长(超出255个字符)
Local class or object types not allowed 不允许局部的类或对象类型
Local procedure/function '' assigned to procedure variable 局部过程/函数赋给过程变量
LOOP/JCXZ distance out of range LOOP/JCXZ距离超出范围
Low bound exceeds high bound 下界超过上界
Memory reference expected 要求内存引用
Method '' hides virtual method of base type '' 方法隐藏了基类型为的虚拟方法
Method '' not found in base class 在基类中没有找到方法
Method identifier expected 要求方法标识符
Missing ENDIF directive 缺少ENDIF指令
Missing operator or semicolon 缺少操作符或分号
Missing or invalid conditional symbol in '$' directive 在$指令中缺少或无效的条件符号
Missing parameter type 缺少参数类型
Necessary library helper function was eliminated by linker 必要的库帮助函数被连接程序删除
No definition for abstract method '' allowed 抽象方法没有定义
Not enough actual parameters 没有足够的实际参数
Number of elements differs from declaration 元素数与说明不同
Numeric overflow 数值溢出
Object or class type required 需要对象或类类型
Object type required 需要对象类型
Only register calling convention allowed in OLE automation section 在OLE自动区段中只允许寄存器调用约定
Operand size mismatch 运算对象大小匹配
Operator not applicable to this operand type 运算符不使用于这一运算对象类型
Order of fields in record constant differs from declaration 在记录常量中的域次序与说明不同
Ordinal type required 需要序数类型
Out of memory 内存溢出
Overflow in conversion or arithmetic operation 转换或算术操作溢出
Overriding automated virtual method '' cannot specify a dispid 覆盖的自动虚拟方法不能指定DISPID
PACKED not allowed here 这里不允许PACKED
Pointer type required 需要指针类型
Procedure cannot have a result type 过程不能有结果类型
Procedure DISPOSE needs destructor 过程DISPOSE需要destructor
Procedure FAIL only allowed in constructor 过程FAIL只允许在constructor方法中
Procedure NEW needs constructor 过程NEW需要constructor方法
PROCEDURE or FUNCTION expected 要求PROCEDURE或FUNCTION
Procedure or function name expected 要求过程或函数名
Program or unit '' recursively uses itself 程序或单元递归
Property '' does not exist in base class 在基类中属性不存在
Published property '' cannot be of type Published属性不能具有类型
Published Real48 property '' must be Single, Double or Extended Published REAL属性必须为Single, Double或Extended
Re-raising an exception only allowed in exception handler 在意外处理中只允许重新引起意外处理
Read error on 文件读出错
Record, object or class type required 需要记录,对象或类类型
Redeclaration of '' hides a member in the base class 的重新说明隐藏了基类中一个元素
Redeclaration of property not allowed in OLE automation section 在OLE自动区段中不允许属性重复说明
Return value of function '' might be undefined 函数的返回值可能没有定义
Seek error on 在中搜索错误
Segment/Offset pairs not supported in Borland 32-bit Pascal 在Borland 32位的PASCAL中不支持Segment/Offset对
Sets may have at most 256 elements 集至少有256个元素
Size of published set '' is >32 bits published集的大小大于32字节
Slice standard function only allowed as open array argument Slice标准函数只允许作为打开数组参数
Statement expected, but expression of type '' found 要求语句,但出现类型的表达式
Statements not allowed in interface part 在界面中不允许的语句
String constant too long 字符串常量太长
String constant truncated to fit STRING[] 字符串常量截取到适合STRING[]
Strings may have at most 255 elements 字符串至少255个元素
Structure field identifier expected 要求结构域标识符
Syntax error in real number 实数语法错误
System unit out of date or corrupted: missing '' 系统单元超出日期或损坏:缺少
Text after final 'END. 编译器忽略END.后的文本
This form of method call only allowed for class methods 该方法的窗体只允许类方法
This form of method call only allowed in methods of derived types 该方法的窗体只允许在导出类型的方法中
This type cannot be initialized 这一类型不能初始化
Thread local variables cannot be ABSOLUTE 线程局部变量不能是ABSOLUTE
Thread local variables cannot be local to a function or procedure 线程局部变量对函数不能是局部的
Too many actual parameters 太多的实际参数
Too many conditional symbols 太多的条件符号
Type '' has no type info 类型没有类型信息
Type '' is not yet completely defined 类型至今没有定义
Type '' must be a class to have a PUBLISHED section 类型必须是在PUBLISHED区段中的类
Type '' must be a class to have OLE automation 类型必须是具有OLE自动的类
Type '' needs finalization - not allowed in file type 类型需要初始化-不允许在文件类型中
Type '' needs finalization - not allowed in variant record 类型需要初始化-不允许在变体记录
Type expected 要求TYPE
Type not allowed in OLE Automation call 在OLE自动调用中不允许的类型
Type of expression must be BOOLEAN 表达式的类型必须为BOOLEAN型
Type of expression must be INTEGER 表达式的类型必须为INTEGER型
TYPEINFO standard function expects a type identifier TYPEINFO标准函数要求类型标识符
TYPEOF can only be applied to object types with a VMT TYPEOF只能用于具有VMT的对象类型
Types of actual and formal var parameters must be identical 形参与实参必须一致
Undeclared identifier: '' 未说明的标识符
Unexpected end of file in comment started on line 以行开始的注释中出现不应有的文件结束
Unit was compiled with a different version of 单元与不同版本的编译
Unit name mismatch: '' 单元名不匹配
Unknown directive: '' 未知的指令
Unnamed arguments must precede named arguments in OLE Automation call 在OLE自动调用中未命名的参数必须在命名的参数前
Unsatisfied forward or external declaration: '' 不满足的向前或外部说明
Unterminated string 未结束的字符串
Value assigned to '' never used 赋给的值从未使用过
Variable '' inaccessible here due to optimization 由于优化,变量名在这里不能存取
Variable '' is declared but never used in '' 变量名已说明,但不曾使用
Variable '' might not have been initialized 变量名可能没有初始化
Variable required 需要变量
Virtual constructors are not allowed 不允许虚拟的constructors方法
Write error on 文件写错误
Wrong or corrupted version of RLINK32.DLL RLINK32.DLL版本错误或不能用

这个问题说来话长,且听我慢慢道来。。。

首先,你仔细看一看,所有的命令按钮(不论是Button还是BitBtn)都有一个属性:ModalResult,该属性可以设置为mrOk 、mrCancel...等等,默认值是mrNone。

平时,ModalResult属性没什么用处,但如果命令按钮放置到用showmodal显示(模态显示,一般用于显示对话框)的窗体上时,就大大的有用了。

作用体现在:
1、当设置命令按钮的ModalResult属性为mrOk、mrCancel...等时,程序运行后,单击该按钮,按钮所在的窗体会自动关闭,不用在OnClick事件中添加诸如Close;语句。
2、当设置命令按钮的ModalResult属性为mrOk、mrCancel...等时,程序运行后,单击该按钮,按钮所在的窗体会自动关闭,同时将按钮的ModalResult属性值赋值给窗体的ModalResult属性(注意:任何窗体都有这个属性!)
3、自动关闭上述窗体时,窗体的ModalResult属性又会自动传递给showmodal方法,作为该方法的返回值。

所以说,showmodal方法的返回值总是与命令按钮的ModalResult属性相同。

楼主的代码:
if form1.showmodal=mrok then

如果要通俗化一下,可以写成如下等价的代码:
var r:TModalResult;
......
.......
r:=form1.showmodal;
if r=mrOK then
...
...

很明显,根据showmodal方法的返回值,可以判断用户在对话框中,究竟是点击了OK按钮还是Cancel按钮,从而决定下一步的程序逻辑。


最后,更正一下楼主的语法错误:showmodal:=mrok 应该写成 showmodal=mrok (等号左边没有冒号)

不知这样的回答是否满意? 呵呵。。。

第一次报告getnettime没定义是在下面这个地方吧:
function TMainForm.getnettime:string; //服务器时间函数

因为这个函数你没有在前面INTERFACE里面的TMainForm的类定义里面定义这个函数,你需要在类定义里面添加这一行。


delphi2007 怎么能动态的设置dll的输出路径
只要编译上面的代码,就可以玫揭桓雒 狣elphi.dll的动态链接库。现在,让我们来看看有哪些需要注意的地方: 1.在DLL中编写的函数或过程都必须加上stdcall调用参数。在Delphi 1或Delphi 2环境下该调用参数是far。从Delphi 3以后将这个参数变为了stdcall,目的是为了使用标准的Win32参数传递技术来代替优化的register参数。

DELPHI什么意思
可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具。 Delphi具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是Object Pascal语言,它才是一切的根本。 Object Pascal语言是在Pascal...

.dll 文件如何调用?VB
只要编译上面的代码,就可以玫揭桓雒�狣elphi.dll的动态链接库。现在,让我们来看看有哪些需要注意的地方: 1.在DLL中编写的函数或过程都必须加上stdcall调用参数。在Delphi 1或Delphi 2环境下该调用参数是far。从Delphi 3以后将这个参数变为了stdcall,目的是为了使用标准的Win32参数传递技术来代替优化的register参数...

期刊投稿边框如何设置?
对于C和C++语言来说,语句和函数大小写表示的意义是不同的,所以要严格遵循语法规定。比如:goto语句是C语言中的关键字,Goto则不是;printf是C语言的一个内部函数,Printf则不是。在D elphi、Visual、Basic、Visual、FoxPro、Pascal等语言中,大小写所表示的意义是相同的,因此,在书写时采用单词首字母大写的约定,如: ...

如何向电脑爱好者投稿?
对于C和C++语言来说,语句和函数大小写表示的意义是不同的,所以要严格遵循语法规定。比如:goto语句是C语言中的关键字,Goto则不是;printf是C语言的一个内部函数,Printf则不是。在D elphi、Visual、Basic、Visual、FoxPro、Pascal等语言中,大小写所表示的意义是相同的,因此,在书写时采用单词首字母大写的约定,如: ...

怎样用电子邮件向杂志社投稿?
对于C和C++语言来说,语句和函数大小写表示的意义是不同的,所以要严格遵循语法规定。比如:goto语句是C语言中的关键字,Goto则不是;printf是C语言的一个内部函数,Printf则不是。 在D elphi、Visual、Basic、Visual、FoxPro、Pascal等语言中,大小写所表示的意义是相同的,因此,在书写时采用单词首字母大写的约定,如: ...

长子县19663469590: 我有一个Delphi的源码,运行的时候总是提示缺少控件,在网上找到之后以为可以了,但是又说缺少声明, -
势肢智杞: delphi的控件包安装感觉很麻烦,我也常出现这样的问题,你打开菜单component->Install Packages.. 然后把里面列出来的控件全部选中再点击OK,试一试

长子县19663469590: Delphi中对象名无效是什么原因 -
势肢智杞: 不明白你问的是什么.如果是未声明的变量,要么缺少uses里的引用,要么就是源代码根本就没声明这个变量.

长子县19663469590: Delphi7 @加Dll里面的函数名 怎么老是提示我 这个函数名未定义 是不是要 在调用的 那个窗口定义 -
势肢智杞: 动态调用dll里函数时需要先定义函数类型变量, 如下 var 变量名: 函数声明; 举例 dll中有函数 aa 声明如下 function aa(para: integer): boolean; stdcall; 则动态调用时应定义 var aa: function(para: integer): boolean;stdcall; 然后再 thisHandle := LoadLibrary('xxx.dll'); @aa := GetProcAddress(thisHandle, 'aa');

长子县19663469590: delphi问题,在声明TJPEGImage类的时候出现错误,提示未定义,这是怎么回事? -
势肢智杞: 有些参数需要你初始化的,比如TSTringList 在你调用一个TStringList数据的时候,比如 TS:=TStringList.Create(ni);//这类需要初始化还有jpeg的组件的声明引用.

长子县19663469590: 在运行Delphi程序的时候总是提示未发现dxDbGrid,怎么解决这一问题? -
势肢智杞: 这个是第三方控件,你上网查一下:Devexpress DbGrid这个控件了;

长子县19663469590: delphi编译提示cannot override a static method -
势肢智杞: 静态方法 IAmAStatic 是一个静态方法,静态方法是方法的缺省类型,对它就像对通常的过程和函数那样调 用.编译器知道这些方法的地址,所以调用一个静态方法时它能把运行信息静态地链接进可执行文件.静态方法执行的速度最快,但它们...

长子县19663469590: 一个delphi地简单问题,但是不知道是否,没use哪个单元文件?还是怎么回事?求高手指点一下 -
势肢智杞: deng_lu.pas的101行:未声明标识符“Key”

长子县19663469590: 用delphi编程 怎么老说没有定义啊 明明就定义了的嘛..
势肢智杞: bool是LongBool类型. Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool.后面三种布尔类型是为了与其他语言兼容而引入的,一般情况下建议使用Boolean类型.这四种类型的布尔值占用内存的数量如下:Boolean 1 ...

长子县19663469590: delphi 为什么会出现这种错误,不知道也来看看啊(up有分)
势肢智杞: vars:string;m,i='8471239641321';m0;for i1 to 12 do m+strtoint(s );//绫诲瀷杞崲阌栾end;

长子县19663469590: 明白delphi的来看看 -
势肢智杞: 菜单栏project-》options然后自己设置autoCreatForm和availableForm

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网