delphi 6 中用 result:=………… 编译出错,我好久不用竟然忘记了哪里出错了,是USES中要引用什么特殊的单元?

Kandy 2001-12-10 09:51:19
delphi 6 中用 result:=………… 编译出错,我好久不用竟然忘记了哪里出错了,是USES中要引用什么特殊的单元?如果是,该UESES什么?嗯?
...全文
191 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
licwing 2001-12-11
  • 打赏
  • 举报
回复
可以啊,Kandy(济沧海),有空来聊吧
Kandy 2001-12-10
  • 打赏
  • 举报
回复
不过还是感谢licwing(行走人生),我现在致力于ISAPI以及组件方面的研究……希望有机会交流
Kandy 2001-12-10
  • 打赏
  • 举报
回复
我已经自己解决了~~谢谢各位捧场,看来还是靠自己才稳妥~~~~~~~
licwing 2001-12-10
  • 打赏
  • 举报
回复
你根本就没有在Tsample中定义函数,你只定义了方法,用type library定义指针参数,就不再是procedure,而是function了,后面的就看你自己了
Kandy 2001-12-10
  • 打赏
  • 举报
回复
这个就是很久不用DELPHI的弊端!!!!!!我有半年没有碰它了……呜…………帮帮我
Kandy 2001-12-10
  • 打赏
  • 举报
回复
其实解决的方法很简单我觉得以前我就是用result:=UTF8Encode(name);
这样就应该能返回值了,但是我又记得RESULT确实是不能在procedure中用……在FUNCTION中……怎么弄?

Kandy 2001-12-10
  • 打赏
  • 举报
回复
我在SAMPLE里定义了一个TEST方法
这里是部分源代码:
unit Unit1;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses
ComObj, ActiveX, AspTlb, Project2_TLB, StdVcl;

type
Tsample = class(TASPMTSObject, Isample)
protected
procedure test(var name: OleVariant); safecall;
end;

implementation

uses ComServ;

procedure Tsample.test(var name: OleVariant);
begin
Response.write (UTF8Encode(name));
end;

initialization
TAutoObjectFactory.Create(ComServer, Tsample, Class_sample,
ciMultiInstance, tmApartment);
end.

其实就是把NAME变成UTF编码……这样我在ASP中就可以这样调用:
<% Set DelphiASPObj = Server.CreateObject("Project2.sample")
DelphiASPObj.test("测试")
%>

这样在显示出来的页面中将显示的是“测试”这两个字符的UTF编码。

问题是:我不想调用对象方法就直接写出UTF编码的字符,我想在
DelphiASPObj.test("测试")后所产生的是一个变量,然后我在ASP文件中用
response.write 写出来。例如我希望这样:
bianliang=DelphiASPObj.test("测试")
然后我可以在其他地方引用 bianliang

我记得要返回这个值就要用:RESULT……但是具体怎么个情况??????我都快忘光了……快点回答!
王集鹄 2001-12-10
  • 打赏
  • 举报
回复
你把函数声明拿来看看
Kandy 2001-12-10
  • 打赏
  • 举报
回复
我也同意,但是……我写的是一个用在ASP中CREATEOBJECT的组件……FUNCTION?我再看看……
kevin_gao 2001-12-10
  • 打赏
  • 举报
回复
估计是你的Result类型和你Function类型定义不一样。
zh430 2001-12-10
  • 打赏
  • 举报
回复
同意木石三
Kandy 2001-12-10
  • 打赏
  • 举报
回复
啊?难道DELPHI帮助里面的SAMPLE有错误?
var
I: Integer;
begin
Result := 1.0;
I := Y;
while I > 0 do
begin
if Odd(I) then Result := Result * X;
I := I div 2;
X := Sqr(X);
end;
copy_paste 2001-12-10
  • 打赏
  • 举报
回复
procedure是没有result
function才有

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧