大哥我用二进制作为dll中函数的返回值遇到如下问题:
想在开始时把myresult每一位全置为0,有一项正确时,就把某一位置为1。
function CheckFaMail(ReceivePerson:string;SendPerson:string;Topic:string):boolean;stdcall;
var
pmessage:poe5_messageInfo;
messagelist:Tlist;
//UserPerson,UserReserve,UserTopic:string;
x,index:integer;
MyResult:boolean;
begin
MyResult:=0;
messagelist:=Tlist.Create;
Read_OE_File('已发送邮件.dbx',messagelist);//读已发送邮件.dbx文件信息,放入messagelist中
if messagelist.Count >0 then
 begin
  for x:=0 to messagelist.Count-1 do
   begin
    pmessage:=messagelist.Items[x];
    if pmessage^.Receipt=ReceivePerson then//检查收件人是否正确
     begin
       MyResult  or  100;
       if pmessage^.From=SendPerson then //检查发件人是否正确
        Myresult or  010;
       if pmessage^.Subject=Topic then //检查主题是否正确
        Myresult or  001;
        break;
     end;
   end;
 end;
 messagelist.Free;
 //StrPCopy(Result,MyResult);
 Result:=MyResult;
shl
end;