VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

請教PHP調用VFP建立的Dll問題
前往頁面 上一頁  1, 2, 3
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 31 樓

發表發表於: 星期六 一月 23, 2021 9:47 pm    文章主題: 引言回覆

1.回傳 json 字串
2.php 有字串轉array的函式,從vfp組合一下字串就好


php 是弱型態 的開發工具,
所以轉換不會太麻煩

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 32 樓

發表發表於: 星期日 一月 24, 2021 3:45 pm    文章主題: 引言回覆

目前google有看到一個情況,

無法在 x64(64bit) 應用程式中建立 x86(32bit)物件

雖然有一個修改登錄檔(reg)的方式可能可以解決,但不是100%可以
https://techtalk.gfi.com/32bit-object-64bit-environment/

1.Locate your COM object GUID under the HKey_Classes_Root\Wow6432Node\CLSID\[GUID]

2.Once located add a new REG_SZ (string) Value. Name should be AppID and data should be the same COM object GUID you have just searched for

3.Add a new key under HKey_Classes_Root\Wow6432Node\AppID\
The new key should be called the same as the com object GUID

4.Under the new key you just added, add a new REG_SZ (string) Value, and call it DllSurrogate. Leave the value empty

5.Create a new Key under HKey_Local_Machine\Software\Classes\AppID\
Again the new key should be called the same as the COM object’s GUID. No values are necessary to be added under this key.

補充:底下圖好像抓錯,請按上面步驟修改.可以對照一下

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙


syntech 在 星期五 一月 29, 2021 5:03 pm 作了第 2 次修改
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 33 樓

發表發表於: 星期五 一月 29, 2021 11:41 am    文章主題: 引言回覆

承上PO.

我測試的VFP COM 物件可以用上面的方法處理

在X64 WIN10 ,X64 XAMPP (xampp-windows-x64-7.3.26-0-VC15-installer.exe) 上,
1. 把 vfp com 等相關檔案放在 c:\xampp\htdocs\vfp
2.不利用 VFP9 compile 及 註冊,純粹使用 c:\windows\syswow64\regsvr32.exe 註冊 (請看 29 樓)
3.依 32 樓修改reg檔
4.browser 可以正確執行

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
小賴



註冊時間: 2004-12-27
文章: 469


第 34 樓

發表發表於: 星期六 一月 30, 2021 9:39 am    文章主題: 引言回覆

PHP VFP_Com 存取 File Sever DBF資料失敗

電腦 A : PHP XAMPP VFP_Com 所在電腦
電腦 B : FILE SEVER (DBC/DBF資料) 所在電腦
電腦 C : 其他區網電腦

B電腦 DBC/DBF 所在路徑 已於 A電腦 Maping 為 F:\

問題點:
於PHP 使用 VFP_Com 無法在取 F:\
(錯誤訊息:找不到 F:\Ploy.DBF)
但相同程式在 VFP 使用 VFP_Com 是可以的

其他測試 :
將 DBF 從 B電腦移至 A電腦 PHP 執行 OK
將 DBF 從 B電腦移至 C電腦 PHP 執行 NG

為何我的 PHP VFP_Com 只能存取本地端的資料 ?
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 35 樓

發表發表於: 星期六 一月 30, 2021 8:40 pm    文章主題: 引言回覆

樓上的範例,
2013年,在XP 上我實驗過類似的東西,
(環境應該是 x86 xp + x86 xampp + php5)
這樣做是沒問題的

但現在的WINDOWS 的使用者管理比較複雜,
我記得這跟 apache2.4 服務的啟動帳戶有關,不可以使用 "本機系統帳戶",
要另外定義高權限的使用者,
以這個使用者重新定義網路磁碟機,或是用 "net use" 分享網路資源


實際情況要找一下資料才知道


----
目前我們家的方案是把 dbf 通通 轉到m$ sql server,
以 "資料夾"_"檔案名" 的方式建立 sql server 的table,
所以就有前一陣子po 的把"dbf 上傳到 sql server "的程式.
http://vfp.sunyear.com.tw/viewtopic.php?t=7064
這樣子做可以讓其他公司或是mis,或是想用 excel 拉資料的使用者比較方便

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 36 樓

發表發表於: 星期一 二月 01, 2021 5:05 pm    文章主題: 引言回覆

承上.

WIN10 X64 (33樓環境)

使用本機系統管理員(Local System)確定無法建立網路磁碟機,
改另外新增使用者的方式.

測試步驟:
1.另外新增一個使用者,等級是"系統管理員(administrators)"
2.在[服務]中,把apache2.4的登入帳戶改為步驟1的使用者.
3.修改php_com物件,加入建立網路磁碟機及use dbf
4.目的pc加上步驟1的使用者,並付予適當權限,設定檔案分享
5.測試php網頁

需要再抓圖及貼程式碼.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
小賴



註冊時間: 2004-12-27
文章: 469


第 37 樓

發表發表於: 星期一 二月 01, 2021 6:19 pm    文章主題: 引言回覆

感謝 syntech 大熱心回應
我先試試

不過 ...
"需要再抓圖及貼程式碼"
意思是要我等你抓圖及貼程式碼
還是:
如果我有需要你再抓圖及貼程式碼

程式設計師的職業病 XD
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 38 樓

發表發表於: 星期一 二月 01, 2021 6:27 pm    文章主題: 引言回覆

別讓他人的程式碼限制自己的想像力

Twisted Evil Twisted Evil Twisted Evil Twisted Evil


代碼:

DEFINE CLASS COM01 AS Custom OLEPUBLIC   && 專案名稱是PHP_COM
   FUNCTION getCUSDate() AS STRING
      SYS(987,.T.)
      SYS(3101,65001)   
      local lcCUSDate
      lcCUSDate = ""
      DECLARE integer WNetAddConnection IN win32api string,string,string
     cShare_Name = "\\192.168.0.1\D"
     nOK = 0
       nOK = WNetAddConnection(cShare_Name, .NULL., "M:")

    IF nOK = 0
       lcCUSDate = lcCUSDate+"<tr><td>已建立網路磁碟機</td></tr>"      
    ELSE
       lcCUSDate = lcCUSDate+"<tr><td>無法建立網路磁碟機</td></tr>"      
    ENDIF

     IF FILE( "M:\data\SYS01\CUS.dbf")
        USE "M:\data\SYS01\CUS.dbf" ALIAS iid IN 0
        SELECT iid
        GO top
        lcCUSDate =lcCUSDate+ "<tr><td>"+ALLTRIM(CUST_NO)+"</td><td>"+ALLTRIM(CUST_NAME)+"</td></tr>"     
        USE IN iid
     ELSE
        lcCUSDate = lcCUSDate+"<tr><td>找不到檔案</td></tr>"              
     ENDIF
     
    DECLARE integer WNetCancelConnection2 IN WIN32API string,INTEGER
    IF WNetCancelConnection2("M:",1)  =0
      lcCUSDate = lcCUSDate+"<tr><td>網路磁碟機已切斷</td></tr>"              
    ELSE
      lcCUSDate = lcCUSDate+"<tr><td>網路磁碟機切斷有誤</td></tr>"                     
    ENDIF         
      RETURN STRCONV(lcCUSDate,9)
   ENDFUNC
ENDDEFINE

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 39 樓

發表發表於: 星期三 七月 19, 2023 10:22 am    文章主題: 引言回覆

補充 在 64位元 iis 上 使用 32位元物件的方式.
1.開啟”IIS管理員”,在”應用程式集區”的 “php_web”(這是你安裝的php網站) 上按右鍵,選擇”進階設定”
2.將”啟用32位元應用程式”改為 “true.”,如果有更換使用者的需求(例如執行高權限的vfp com物件)可以修改 “識別”處的使用者.按下確定.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 上一頁  1, 2, 3
3頁(共3頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作