DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: melqui
今日帖子: 23
在线用户: 16
导航: 论坛 -> 移动应用开发 斑竹:flyers,iamdream  
作者:
男 sxfgf (FC_FGF) ★☆☆☆☆ -
普通会员
2021/1/15 0:17:07
标题:
Delphi 10.2 Android 过程中执行代码不是顺序执行? 浏览:1423
加入我的收藏
楼主: procedure TR_XSD_Fm.Button6Click(Sender: TObject);
begin
  tiaoma:='0'; Edit15.Text:=''; ling:='0';
  spid:='0'; kong:='';
//扫条码
    FMessageSubscriptionID := TMessageManager.DefaultManager.SubscribeToMessage
      (TMessageResultNotification, HandleActivityMessage);
    LaunchQRScanner(ScanRequestCode );

    tiaoma:=edit15.Text;
    showmessage(tiaoma);
   if tiaoma<>'0' then
    begin
      ClientModule1.ClientDataSet1.Close;
      ClientModule1.ClientDataSet1.CommandText:='select ptypeid from B_GTypeBarDetail where barcode='''+edit15.Text+''' ';
      ClientModule1.ClientDataSet1.Open;
      if ClientModule1.ClientDataSet1.RecordCount>0 then
      begin
        spid:= ClientModule1.ClientDataSet1.FieldByName('ptypeid').AsString;
      end else
      begin
        spid:='0';
        showmessage('未找到具有该条码的商品!');
        exit;
      end;
end;

感觉代码是从结尾到前面,反序执行的。比较纳闷!
请教代码执行顺序应该是怎么回事?
----------------------------------------------
偶尔做做代码应付一下工作,却发现Delphi已成必配
作者:
男 sxfgf (FC_FGF) ★☆☆☆☆ -
普通会员
2021/1/15 1:16:16
1楼: 代码应该是顺序执行的,执行到:
//扫条码
    FMessageSubscriptionID := TMessageManager.DefaultManager.SubscribeToMessage
      (TMessageResultNotification, HandleActivityMessage);
    LaunchQRScanner(ScanRequestCode );
时,不会等待,而是继续执行下去了,所以变量tiaoma为空,现在的问题是如何让程序执行时,到了这里停下来不要继续,等返回后再继续执行给tiaoma赋值的操作?
----------------------------------------------
偶尔做做代码应付一下工作,却发现Delphi已成必配
作者:
男 sail2000 (小帆工作室) ★☆☆☆☆ -
盒子活跃会员
2021/1/15 8:10:07
2楼: 这是消息。。。你应该捕获自己需要的消息后再处理,而不是在这里等待。。。
----------------------------------------------
delphi 是兴趣,和工作无关,即使它倒闭。又不靠它 delphi 吃饭,怕甚?
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行62.5毫秒 RSS