Delphi - 关于错误E2002 File Type is not allowed here


======================================================
注:本文源代码点此下载
======================================================

技术交流,dh讲解.

最近写的程序里面想加入一个log的功能,为了方便以后使用,所以就打算写一个控件.结果遇到了一个问题,这里和大家分享.procedure dosetfile(atxt: textfile; const filename: string);

begin

assignfile(atxt, filename);

if fileexists(filename) then

append(atxt)

else

rewrite(atxt);

end;

我是这样声明的,理论来说不应该有问题,结果delphi就报了这个错误,文件类型不允许使用在这里.这个问题第一次遇到了,把函数声明改到控件里面也是这个错误.没有办法了 只有google一下.

看见一个老外也问了这个问题.

在一堆e文中 找呀找呀,终于看到一个人回答.给了我个提示.好吧我们改函数.

procedure dosetfile(var atxt: textfile; const filename: string);

begin

assignfile(atxt, filename);

if fileexists(filename) then

append(atxt)

else

rewrite(atxt);

end;

只是增加了一个var 结果就可以了.

因为我们这里可能改了atxt,但是如果直接传值参肯定不行了,所以delphi给了我们错误提示.

希望能对大家有帮助.

附上e文:有能力的朋友自己看下:

file types are not allowed as value parameters and as the base type of a file type itself. they are also not allowed as function return types, and you cannot assign them - those errors will however produce a different error message.

program produce;

procedure writeinteger(t: text; i: integer);

begin

writeln(t, i);

end;

begin

end.

in this example, the problem is that t is value parameter of type text, which is a file type. recall that whatever gets written to a value parameter has no effect on the caller's copy of the variable - declaring a file as a value parameter therefore makes little sense.

program solve;

procedure writeinteger(var t: text; i: integer);

begin

writeln(t, i);

end;

begin

end.

declaring the parameter as a var parameter solves the problem.

retrieved from "http://docwiki.embarcadero.com/radstudio/en/e2002_file_type_not_allowed_here_(delphi)"

好结束,我是dh.

绿色通道:好文要顶关注我收藏该文与我联系


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
一、销售数据上传接口 接口方式:Web Service 输入的参数要求编码格式为UTF-8,数据格式为:Json 返回代码:0为成功处理,负数为处理失败。下表为系统级错误代码表,另外每个Web Service功能亦有额外的错误代码表。 系统级的错误代码表 错误代码 错误描述 0 成功 -10000 无效的签名 -10001 Api Key找不到 -10002 无效的Api Key -10003 Api Key未生效 -10004 Api Key已过期 -10005 Api Key不能执行该功能 签名的处理逻辑,请参考另文。 测试的Server IP : 测试数据(因应不同的Server IP,测试数据可能不同): apiKey: 测试时上传:XJY (正式上线使用时会有变动,参数不能写死,需要可配置) storeCode: 测试时上传:L501N1 (正式上线使用时会有变动,参数不能写死,需要可配置) tillId: 测试时上传:01 (正式上线使用时会有变动,参数不能写死,需要可配置) cashier: 测试时上传:501501 (正式上线使用时会有变动,参数不能写死,需要可配置) itemCode: 测试时上传: L501N1 (正式上线使用时会有变动,参数不能写死,需要可配置) itemOrgId: 测试时上传:000808 (正式上线使用时会有变动,参数不能写死,需要可配置) tenderCode: 测试时上传:CH (正式上线使用时会有变动,参数不能写死,需要可配置) baseCurrencyCode: 测试时上传:RMB (正式上线使用时会有变动,参数不能写死,需要可配置) 注意:请各商户在测试时,将DOCKEY、DOCNO值,加上各自商户的名称拼音或英文品牌名称,或店铺编号+小票号,以利区分是哪个商户上传的销售,例如,南山店铺号为L501N1的肯德基店上传销售:DOCKEY(DOCNO):” KFC_L501N1_20190710114201001”。 注意事项 :小票避开以“D”、"V"、“M”开头,建议的解决方法是前面加另外的字母或数字。 接口名称:salesTransLiteV61 接口说明:创建销售单(商场版) 无需签名的接口地址: 外网:http://113.106.58.38:38185/SalesTrans/rest/salestransaction/salestranslitev61 接口调用请求参数:SalesTransLiteV61Request 序号 名称 类型 必须 默认值 描述 1 apiKey String 是 测试时固定上传:XJY 2 signature String 否 预留字段。 签名字段 3 docKey String 是 必須唯一,用來判断該记录是否已经处理。 e.g.日期.店铺编号.收款机编号.销售单号 : 20151001.SH001.01.S000000001 4 transHeader TransHeaderV61 是 5 salesTotal SalesTotalLiteV61 是 6 salesItem[] SalesItemLiteV61 是 货品信息 7 salesTender[] SalesTenderLiteV61 是 付款信息 8 orgSalesMemo SalesMemoV61 否 原销售单的信息, 只适用于退货。 返回结果:SalesTransLiteV61Response 序号 名称 类型 必须 默认值 描述 1 errorCode String错误编码 2 errorMessage String错误信息 錯誤代碼表 错误代码 错误描述 -1 没有传入参数 -2 没有参数docKey -3 没有参数transHeader -4 没有参数salesTotal -5 没有参数salesItem -6 没有参数salesTender -7 没有销售单号 -8 没有店铺编号 -9 没有收款机编号 -10 没有Ledger Datetime -11 没有货品编号 -12 货品编号找不到 -13 销售单号找不到 -14 销售单号已经存在 -15 原销售单号找不到 -16 店铺编号找不到 -17 收款机号找不到 -18 付款金额超出货品金额 -19 付款金额小于货品金额 -20 付款金额不等于退货金额 -21 无效的交易日期范围 -22 对应的货品编号不唯一 -23 对应的付款方式编号不唯一 TransHeade
最新发布
03-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值