爱火箭528 发表于 2017-5-25 14:24:46

au3脚本编译后在XP系统远行不了 【已解决】

本帖最后由 爱火箭528 于 2017-5-25 15:23 编辑

开发一个au3脚本编译后,在XP系统上面运行出错,XP系统是要注意什么嘛、、、

kk_lee69 发表于 2017-5-25 14:30:57

回复 1# 爱火箭528

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

請上程式

爱火箭528 发表于 2017-5-25 14:40:44

回复 2# kk_lee69


    是这样的,我们做了一个项目:用au3脚本来实现plsql这个客户端代填,是通过页面调au3编译后的文件。在win 64位上是可以实现的,但是在XP上运行是就呼不起来、、

1361739590 发表于 2017-5-25 14:42:46

通过页面调au3编译后的文件----页面有没有调用成功?
用au3脚本来实现plsql这个客户端代填---这个大概是怎么操作的。

爱火箭528 发表于 2017-5-25 14:45:11

回复 4# 1361739590


    就是通过SSO来实现页面啊,在本地安装一个插件通过页面调au3啊。

kk_lee69 发表于 2017-5-25 14:53:29

回复 5# 爱火箭528

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

沒上 程式 想幫妳的也很難了

爱火箭528 发表于 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 == 15 Then
Local $net_sid = $CmdLine;
Local $net_ip = $CmdLine;
Local $net_port = $CmdLine;
Local $ip = $CmdLine;
Local $port = $CmdLine;
Local $user = $CmdLine;
Local $pwd = $CmdLine;
Local $sessionId = $CmdLine;
Local $fortIp = $CmdLine;
Local $type = $CmdLine;
Local $dabase_name = $CmdLine; 数据库名
Local $net_style = $CmdLine;       
Local $Con_identity = $CmdLine;
Local $pid = $CmdLine;
Local $client = $CmdLine;

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);
   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("");
   Local $rv = WinWait("","",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

kk_lee69 发表于 2017-5-25 14:58:39

回复 7# 爱火箭528

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

能說是哪行出現錯誤嗎??

爱火箭528 发表于 2017-5-25 15:11:12

回复 8# kk_lee69


    不是说这个出错、、、我的意思是这个脚本在XP里面有啥限制没有、、、我发的这个没有问题。

kk_lee69 发表于 2017-5-25 15:21:03

回复 9# 爱火箭528

這樣說好了

AU3 發展的時候 是從 XP 開始

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

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

另外AU3 版本 可能會影像某些狀況
譬如 某個版本的 EXCEL UDF 做某些事情 不穩定但是 換成舊版的AU3 就會正常....

1361739590 发表于 2017-5-25 15:22:03

不同系统之间肯定有区别。
不能把区别都说出来吧。
你现在是具体哪边有问题,就看哪边就好了。
xp下是哪一步不能起作用呢?
页: [1]
查看完整版本: au3脚本编译后在XP系统远行不了 【已解决】