我要完整的DELPHI编译错误信息。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我要完整的DELPHI编译错误信息。相关的知识,希望对你有一定的参考价值。

不是从网上摘的,完整的DELPHI编译错误信息。

参考技术A Delphi编译错误中文手册

*******************************
* 编 译 错 误 信 息 *
*******************************
';' not allowed before 'ELSE' ElSE前不允许有“;”
'<clause>' clause not allowed in OLE automation section 在OLE自动区段不允许“<clause>”子句
'<name>' is not a type identifier <name>不是类型标识符
'<name>' not previously declared as a PROPERTY <name>前面没有说明PROPERTY
'GOTO <label>' leads into or out of TRY statement GOTO <label>进入或超出TRY语句的范围
<clause1> clause expected, but <clause2> found 要求子句<clause1>,但出现<clause2>
16-Bit fixup encountered in object file '<text>' 在对象文件<text>遇到16位修复
486/487 instructions not enabled 不能用486/487指令
Abstract methods must be virtual or dynamic 抽象方法必须为虚拟的或动态的
Array type required 需要数组类型
Assignment to FOR-Loop variable '<Name>' 给FOR循环变量<Name>赋值
Bad argument type in variable type array constructor 在变量类型数组结构中不正确的参数类型
Bad file format '<name>' 错误的文件格式<name>
Bad file format: <Filename> 错误的文件格式<Filename>
Bad global symbol definition: '<Name>' in object file '<Filename>' 对象文件'<Filename>'中错误的全局符号定义'<Name>'
Bad unit format: <Filename> 错误的单元格式<Filename>
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 <Unitname> 对单元<Unitname>循环引用
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 <Filename> 文件<Filename>关闭错误
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 '<name>' containing abstract methods 构造的<name>实体包含抽象的方法
Could not compile used unit '<Unitname>' 不能用单元<Unitname>编译
Could not create output file <Filename> 不能建立输出文件<Filename>
Could not load RLINK32.DLL 不能加载RLINK32.DLL
Data type too large: exceeds 2 GB 数据类型太大:超过2GB
Declaration of <Name> differs from previous declaration <Name>的说明与先前的说明不同
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 '<number>' already used by '<name>' DISPID标识号已被<name>使用
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: <Filename> 文件<Filename>没有找到
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 '<name>' cannot be passed as var parameter FOR循环变量<name>不能作为参数传递
FOR-Loop variable '<Name>' may be undefined after loop 在循环后的FOR循环变量<NAME>是不确定的
Function needs result type 函数需要结果类型
Identifier redeclared: '<name>' 标识符<name>重复说明
Illegal character in input file: '<char>' ($<hex>) 在输入文件中的非法字符'<char>'
Illegal message method index 非法的消息方法指针
Illegal reference to symbol '<Name>' in object file '<Filename>' 在对象文件<filename>中对符号<name>的非法引用
Illegal type in OLE automation section: '<typename>' 在OLE自动区段中的非法类型<typename>
Illegal type in Read/Readln statement 在Read/Readln语句中的非法类型
Illegal type in Write/Writeln statement 在Write/Writeln语句中的非法类型
Inaccessible value 不可存取的值
Incompatible types: '<name>' and '<name>' 不兼容的类型<name>和<name>
Incompatible types: <text> 不兼容的类型<text>
Inline assembler stack overflow 内联汇编溢出
Inline assembler syntax error 内联汇编语法错误
Instance variable '<name>' inaccessible here 实体变量<name>在这里不能存取
Integer constant or variable name expected 要求整形常量或变量名
Integer constant too large 整型常量太大
Internal error: <ErrorCode> 内部错误<errorcode>
Invalid combination of opcode and operands 操作码与操作对象的无效组合
Invalid compiler directive: '<Directive>' 无效的编译指令<DIRECTIVE>
Invalid function result type 无效的函数值类型
Invalid message parameter list 无效的消息参数列表
Invalid register combination 无效的寄存器组合
Invalid typecast 无效的TYPECASE
Label '<Name>' is not declared in current procedure 在当前的过程中没有说明标号<NAME>
Label already defined: '<Labelname>' 标号<LABELNAME>已经定义
Label declaration not allowed in interface part 在界面部分不允许标号说明
Label declared and referenced, but not set: '<label>' 标号被<label>说明及引用,但不能设置
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 '<Name>' assigned to procedure variable 局部过程/函数<NAME>赋给过程变量
LOOP/JCXZ distance out of range LOOP/JCXZ距离超出范围
Low bound exceeds high bound 下界超过上界
Memory reference expected 要求内存引用
Method '<name>' hides virtual method of base type '<name>' 方法<NAME>隐藏了基类型为<NAME>的虚拟方法
Method '<name>' not found in base class 在基类中没有找到方法<NAME>
Method identifier expected 要求方法标识符
Missing ENDIF directive 缺少ENDIF指令
Missing operator or semicolon 缺少操作符或分号
Missing or invalid conditional symbol in '$<symbol>' directive 在$<symbol>指令中缺少或无效的条件符号
Missing parameter type 缺少参数类型
Necessary library helper function was eliminated by linker 必要的库帮助函数被连接程序删除
No definition for abstract method '<name>' allowed 抽象方法<NAME>没有定义
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 '<name>' cannot specify a dispid 覆盖的自动虚拟方法<NAME>不能指定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 '<name>' recursively uses itself 程序或单元递归
Property '<name>' does not exist in base class 在基类中<NAME>属性不存在
Published property '<name>' cannot be of type <type> Published属性<NAME>不能具有类型<type>
Published Real48 property '<name>' must be Single, Double or Extended Published REAL属性<NAME>必须为Single, Double或Extended
Re-raising an exception only allowed in exception handler 在意外处理中只允许重新引起意外处理
Read error on <Filename> 文件<FILENAME>读出错
Record, object or class type required 需要记录,对象或类类型
Redeclaration of '<name>' hides a member in the base class <NAME>的重新说明隐藏了基类中一个元素
Redeclaration of property not allowed in OLE automation section 在OLE自动区段中不允许属性重复说明
Return value of function '<Functionname>' might be undefined 函数<Functionname>的返回值可能没有定义
Seek error on <Filename> 在<FILENAME>中搜索错误
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 '<name>' is >32 bits published集<NAME>的大小大于32字节
Slice standard function only allowed as open array argument Slice标准函数只允许作为打开数组参数
Statement expected, but expression of type '<type>' found 要求语句,但出现类型<TYPE>的表达式
Statements not allowed in interface part 在界面中不允许的语句
String constant too long 字符串常量太长
String constant truncated to fit STRING[<number>] 字符串常量截取到适合STRING[<number>]
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 '<name>' 系统单元超出日期或损坏:缺少<NAME>
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 '<name>' has no type info 类型<NAME>没有类型信息
Type '<Name>' is not yet completely defined 类型<NAME>至今没有定义
Type '<name>' must be a class to have a PUBLISHED section 类型<NAME>必须是在PUBLISHED区段中的类
Type '<name>' must be a class to have OLE automation 类型<NAME>必须是具有OLE自动的类
Type '<name>' needs finalization - not allowed in file type 类型<NAME>需要初始化-不允许在文件类型中
Type '<name>' needs finalization - not allowed in variant record 类型<NAME>需要初始化-不允许在变体记录
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: '<name>' 未说明的标识符<NAME>
Unexpected end of file in comment started on line <Number> 以行<Number>开始的注释中出现不应有的文件结束
Unit <Unit1> was compiled with a different version of <Unit2> 单元<UNIT1>与不同版本的<UNIT2>编译

...............还有,追问再发

Delphi ADOQuery和ClientDataSet 错误提示:不正常地定义参数对象,提供了不一致或不完整的信息

Delphi ADOQuery和ClientDataSet 错误提示:不正常地定义参数对象,提供了不一致或不完整的信息

原因分析:SQL语句事务处理时,把":"或“::”或“@”或“@@”后的字符当作变量来使用,导致数据识别错误,或参数信息提供不一致。

解决方法:

1、ADOQuery

ADOQuery1.ParamCheck:=False;

2、ClientDataSet 执行存储过程参数需要定义传递的大小值,否则报错

with ClientDataSet1 do begin
    Close;CommandText:=sSQL;
    Params.Clear;
    Params.CreateParam(ftString,‘@sExeSQL‘,ptInput);
    Params.CreateParam(ftInteger,‘@sRecount‘,ptOutput);
    Params.CreateParam(ftString,‘@sError‘,ptOutput);
    Params.ParamByName(‘@sExeSQL‘).Value:=sExeSQL;
    Params.ParamByName(‘@sRecount‘).Value:=sRecount;      
    Params.ParamByName(‘@sError‘).Size:=4000;   //设定传递的大小值
    Params.ParamByName(‘@sError‘).Value:=sError;
    Execute;
    sRecount:=Params.ParamByName(‘@sRecount‘).Value;    //获取参数返回值
    sError:=Params.ParamByName(‘@sError‘).Value;    //获取参数返回值
  end;

  

提示:如果问题依然存在,请检查传递的字段是否正确

 

 

创建时间:2020.12.07  更新时间:

 

以上是关于我要完整的DELPHI编译错误信息。的主要内容,如果未能解决你的问题,请参考以下文章

delphi6安装Raize Components 4控件导致编译通不过,求助

DELPHI 7 上的 CromisIPC 编译错误

帮助解决奇怪的 Delphi 5 IDE 问题

Delphi - 10.1编译OSX10.12程序遇到错误解决了!

delphi xe 自带的Android Demo程序 编译时正常,但当Run 时报如下错误,请大神帮忙看一下

Delphi调试器窗口中为啥变量内容显示不全