全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2677
推到 Plurk!
推到 Facebook!

關於控制 pcanywhere 傳輸檔案的議題

尚未結案
digitraveler
初階會員


發表:89
回覆:91
積分:46
註冊:2005-06-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-08-16 12:22:32 IP:218.173.xxx.xxx 訂閱

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Comobj;

var
Form1: TForm1;
PCAWREM32: Variant;

procedure TForm1.Button1Click(Sender: TObject);
begin
PCAWREM32 := CreateOleObject('Awrem32.Application');
PCAWREM32.awConnect('C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\TEST.CHF'); //註一
IF (PCAWREM32.ConnectionStatus=1) THEN
PCAWREM32.FileXferFromHost('C:\test.txt', 'C:\test.txt');
PCAWREM32.awDisconnect;
end;


註一
1.TEST.CHF 是確定可以從 PCANYWHERE 連到遠方的設定檔 , 在桌面點兩下 TEST.CHF 捷徑 , 可以 PCANYWHERE 開啟遠方搖控
2.在程式中呼叫 TEST.CHF 都有 看到 PCANYWHERE 通訊視窗被叫起 , 但十幾秒後都是連線失敗 , 出現 "無法附加通訊裝置到你的連線"
3.網路找到的 VB 範例都說這樣就 OK , 但 DELPHI 中是否少了什麼程式碼 ?? (以上程式碼可編譯成功並可執行 PROJECT1.EXE , 但就是連線不起來)
4.PCANYWHERE 10.5 DELPHI 7 環境下
5.請有做過相關連線範例的長官給予指導,感謝
編輯記錄
digitraveler 重新編輯於 2008-08-16 19:42:28, 註解 無‧
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-08-16 23:47:58 IP:220.141.xxx.xxx 訂閱
See This

pcANYWHERE OLE code for VB
http://209.85.175.104/search?q=cache:TToJCF_Jo0oJ:www.tek-tips.com/viewthread.cfm?qid=169229&page=4 delphi 'Awrem32.Application'&hl=zh-TW&ct=clnk&cd=3&gl=tw


[code delphi]

procedure TForm1.Button1Click(Sender: TObject);
var
bResult : boolean;
begin
PCAWREM32 := CreateOleObject('Awrem32.Application');
bResult:=PCAWREM32.awConnect('C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\TEST.CHF');

IF bResult THEN
showmessage('Connection Ok')
Else
showmessage('Connection failed');

bResult:=PCAWREM32.FileXferFromHost('C:\test.txt', 'C:\test.txt');

IF bResult THEN
showmessage('Transfer from host successful')
Else
showmessage('Transfer from host not successful');


PCAWREM32.awDisconnect;
PCAWREM32 := Nothing;
end;
[/code]
------
努力會更接近成功
digitraveler
初階會員


發表:89
回覆:91
積分:46
註冊:2005-06-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-08-18 11:46:17 IP:218.173.xxx.xxx 訂閱
非常感謝
不過小弟的問題是連不上遠端,而非如何呼叫 pcanywhere OLE
小弟已註明 , 程式可執行 , 也有帶起了 PCANYWHERE 連線畫面 => DELPHI 呼叫 PCANYWHERE OLE 的語法沒問題
但問題是連不起來 , 事實上小弟參考的也是這支 VB 程式
編輯記錄
digitraveler 重新編輯於 2008-08-18 14:48:59, 註解 無‧
digitraveler 重新編輯於 2008-08-18 14:57:41, 註解 無‧
digitraveler 重新編輯於 2008-08-18 14:59:11, 註解 無‧
digitraveler
初階會員


發表:89
回覆:91
積分:46
註冊:2005-06-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-08-18 12:03:26 IP:218.173.xxx.xxx 訂閱
測試中發現 , 若客戶端(被遙控端)使用 DEFAULT 的通訊 PORT 5631/5632 , 以上程式碼是可以成功連線跟成功傳檔的
但客戶端(被遙控端)使用自訂的通訊 PORT (如 5635/5636) , 就會造成程式無法連線 ; 當然 TECH.CHF 檔中已設定客戶端所使用的 PORT

後來查到 , 有人遇到相同的問題 , 可能是 BUG
https://forums.symantec.com/syment/board/message?board.id=107&thread.id=1053


簡述問題點如下
1.原先沒講清楚 , 被控端是客戶的電腦 , 但因網路安全問題 , 客戶將 PCANYWHERE 通訊PORT 由 DEFAULT 的 5631/5632 改成 5635/5636
2.我在我電腦設一主控端 TEST.CHF , 除了指定客戶 IP 外當然也要設通訊 PORT 為客戶的 5635/5636
3.用滑鼠點兩下 TEST.CHF 是連線 OK 的 => TEST.CHF 沒問題
4.由我程式呼叫 awConnect(TEST.CHF) , 可開啟 PCANYWHERE 連線動作對話框 , 但無法連線
5.後來把客戶端通訊 PORT 改回 DEFAULT 值 5631/5632 , 我的程式就連線成功 , 所以問題不在我程式呼叫 OLE 的方法 , 而是程式無法取出 TEST.CHF 中客戶通訊 PORT 的設定資訊
6.也就是可能 OLE 提供的 awConnect() 有 bug , 無法取出 *.CHF 檔中的 PORT 設定資訊 , 而是一律使用 DEFAULT 的通訊 PORT 5631/5632
編輯記錄
digitraveler 重新編輯於 2008-08-18 14:56:46, 註解 無‧
digitraveler
初階會員


發表:89
回覆:91
積分:46
註冊:2005-06-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-08-18 15:26:16 IP:218.173.xxx.xxx 訂閱
山不轉路轉
我試著騙 PcAnyWhere , 你的 DEFAULT PORT 是 5635/5636 => 為了跟客戶端(被遙控端) 一樣
但我改了我電腦(主控端)註冊資訊如下

HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\pcANYWHERE\CurrentVersion\System
TCPIPDataPort = 0x00001603(5635)
TCPIPStatusPort = 0x00001604(5636)
TCPIPPortCompatibility = 0x00000001(1) => 0 或 1 都試過了,一樣無效


=>還是無效
PcAnyWhere 還是認定 DEFAULT PORT 為 5631/5632
編輯記錄
digitraveler 重新編輯於 2008-08-18 15:35:14, 註解 無‧
系統時間:2017-12-15 10:18:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!