找回密码
 加入
搜索
查看: 2229|回复: 10

[AU3基础] au3脚本编译后在XP系统远行不了 【已解决】

  [复制链接]
发表于 2017-5-25 14:24:46 | 显示全部楼层 |阅读模式
本帖最后由 爱火箭528 于 2017-5-25 15:23 编辑

开发一个au3脚本编译后,在XP系统上面运行出错,XP系统是要注意什么嘛、、、
发表于 2017-5-25 14:30:57 | 显示全部楼层
回复 1# 爱火箭528

XP 不需要注意甚麼
重點是你的程式內容吧

請上程式
 楼主| 发表于 2017-5-25 14:40:44 | 显示全部楼层
回复 2# kk_lee69


    是这样的,我们做了一个项目:用au3脚本来实现plsql这个客户端代填,是通过页面调au3编译后的文件。在win 64位上是可以实现的,但是在XP上运行是就呼不起来、、
发表于 2017-5-25 14:42:46 | 显示全部楼层
通过页面调au3编译后的文件----页面有没有调用成功?
用au3脚本来实现plsql这个客户端代填---这个大概是怎么操作的。
 楼主| 发表于 2017-5-25 14:45:11 | 显示全部楼层
回复 4# 1361739590


    就是通过SSO来实现页面啊,在本地安装一个插件通过页面调au3啊。
发表于 2017-5-25 14:53:29 | 显示全部楼层
回复 5# 爱火箭528

聽起來像是 IE 版本上的問題吧

沒上 程式 想幫妳的也很難了
 楼主| 发表于 2017-5-25 14:55:44 | 显示全部楼层
回复 6# kk_lee69
#RequireAdmin
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_outfile=ORA_PLSQL_V11.0_5950.exe
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <../utils.au3>
#include <../Debug.au3>
Opt("TrayIconHide", 1) ;0=show, 1=hide tray icon

If $CmdLine[0] == 15 Then
Local $net_sid = $CmdLine[1];
Local $net_ip = $CmdLine[2];
Local $net_port = $CmdLine[3];
Local $ip = $CmdLine[4];
Local $port = $CmdLine[5];
Local $user = $CmdLine[6];
Local $pwd = $CmdLine[7];
Local $sessionId = $CmdLine[8];
Local $fortIp = $CmdLine[9];
Local $type = $CmdLine[10];
Local $dabase_name = $CmdLine[11]; 数据库名
Local $net_style = $CmdLine[12];        
Local $Con_identity = $CmdLine[13];
Local $pid = $CmdLine[14];
Local $client = $CmdLine[15];

Local $len_ip = StringLen("t_ip=");
Local $aim_ip = StringTrimLeft($ip, $len_ip);
Local $len_port = StringLen("t_port=");
Local $aim_port = StringTrimLeft($port, $len_port);
Local $len_userId = StringLen("uid=");
Local $aim_userId = StringTrimLeft($user, $len_userId);
Local $len_pwd = StringLen("pwd=");
Local $aim_password = StringTrimLeft($pwd, $len_pwd);
Local $len_client = StringLen("client_ver=");
Local $aim_client = StringTrimLeft($client, $len_client);
   
Else
   MsgBox(1,"错误!","参数错误,num=" & $CmdLine[0]);
   Exit 13;
EndIf

Plsql();

;启动程序
Func Plsql()
        
        ;_DebugSetup("ORA_PLSQL_V11.0_5950", False);
        _DebugReport (_DebugBugReportEnv());

   ; 运行客户端程序
   ;Local $pid = Run($plSQL_Rpath);
   If($net_style == 1) Then
                $pid = $pid;
   ElseIf($net_style== 0) Then
                ;读取plsql路径
                Local $plSQL_Rpath = IniRead(@ScriptDir & "\db_path.ini", "path", "plsql", "ERROR") ;找到plsql安装根路径

                If($plSQL_Rpath == "ERROR") Then
                        MsgBox(1,"错误!","未读取到plsql工具根路径");
                        Exit 20;
                EndIf
          
                $pid = Run($plSQL_Rpath);
   EndIf

   $ssolog = FileOpen(@ScriptDir & "\log\ssolog.txt", 10)
   _DebugReportVar("ssolog", $ssolog);
   ; 检查打开的文件可写
   If $ssolog = -1 Then
                MsgBox(0, "错误", "ssolog.txt 不能打开文件.")
                Exit
   EndIf

   FileWrite($ssolog, "["&@YEAR&"-"&@MON&"-"&@MDAY&" "&@HOUR&":"&@MIN&":"&@SEC&":"&@MSEC&"]"&"ORACALE-PLSQL:登录窗口正在打开"& @CRLF)

        

   ;新建连接
   BlockInput(1)
   WinActivate("[CLASS:TLogOnForm]");
   Local $rv = WinWait("[CLASS:TLogOnForm]","",20);
   
   If($rv == 0)Then
          BlockInput(0)
          MsgBox(1,"错误!","等待登录plsql窗口失败");
          FileClose($ssolog);
          Exit 10;
   EndIf
  
   WinSetState($rv, "", @SW_SHOW);

   FileWrite($ssolog, "["&@YEAR&"-"&@MON&"-"&@MDAY&" "&@HOUR&":"&@MIN&":"&@SEC&":"&@MSEC&"]"&"ORACALE-PLSQL:登录初始界面打开"& @CRLF)
   
   ;Sleep(1);
   
   FileWrite($ssolog, "["&@YEAR&"-"&@MON&"-"&@MDAY&" "&@HOUR&":"&@MIN&":"&@SEC&":"&@MSEC&"]"&"ORACALE-PLSQL:请求参数是"&$pid&","&$aim_userId&","&$aim_password&","&$dabase_name&","&$Con_identity& @CRLF)
   FileClose($ssolog)

   ;Send($aim_password);
   ;Sleep(1);
   
   BlockInput(1)
   __TransEngWrite();
   ControlSetText($rv, "", "TEdit2", $aim_userId);
   ControlSetText($rv, "", "TEdit1", $aim_password);
   ControlSetText($rv, "", "Edit1",  $dabase_name);
   ControlCommand($rv, "", "TComboBox2","SelectString", $Con_identity);
   
   ;连接
   ControlClick($rv, "", "TButton2")
   BlockInput(0)

EndFunc
发表于 2017-5-25 14:58:39 | 显示全部楼层
回复 7# 爱火箭528

話說到這邊   當出現錯誤的時候  應該會告訴你是哪一行 出現錯誤

能說是哪行出現錯誤嗎??
 楼主| 发表于 2017-5-25 15:11:12 | 显示全部楼层
回复 8# kk_lee69


    不是说这个出错、、、我的意思是这个脚本在XP里面有啥限制没有、、、我发的这个没有问题。
发表于 2017-5-25 15:21:03 | 显示全部楼层
回复 9# 爱火箭528

這樣說好了  

AU3 發展的時候 是從 XP 開始

當 WIN7 剛出來的時候 有些相容性的問題  然後64位元  有需要注意的
現在則是 WI10 會遇到一些問題....

但是 XP 基本上就是最基礎的系統......所以理論上最不會有問題....

另外AU3 版本 可能會影像某些狀況
譬如 某個版本的 EXCEL UDF 做某些事情 不穩定  但是 換成舊版的AU3 就會正常....
发表于 2017-5-25 15:22:03 | 显示全部楼层
不同系统之间肯定有区别。
不能把区别都说出来吧。
你现在是  具体  哪边有问题,就看哪边就好了。
xp下是哪一步不能起作用呢?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-22 16:10 , Processed in 0.093903 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表