史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 程式語言討論區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2009-08-31, 11:41 AM   #1
sob790717b
註冊會員
 
sob790717b 的頭像
榮譽勳章
UID - 288487
在線等級: 級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時
註冊日期: 2007-12-16
文章: 378
精華: 0
現金: 655 金幣
資產: 835 金幣
預設 疑問 - 一些VB問題



開發環境:VB6


1.如何解決一個程式視窗多開後都按右上角X鈕關閉時 程式實際上還在運作
但視窗已不可見

2.如果要寫一個檢查程式有沒有更新的機制 有沒有方法是對於新手較易學的
程式的更新檔是放在 http 協定的空間裡



請各位程式高手大大教導

此帖於 2009-09-05 10:48 PM 被 sob790717b 編輯.
sob790717b 目前離線  
送花文章: 764, 收花文章: 211 篇, 收花: 412 次
回覆時引用此帖
舊 2009-08-31, 03:20 PM   #2 (permalink)
註冊會員
 
飛行船大大 的頭像
榮譽勳章
UID - 282126
在線等級: 級別:14 | 在線時長:259小時 | 升級還需:26小時級別:14 | 在線時長:259小時 | 升級還需:26小時級別:14 | 在線時長:259小時 | 升級還需:26小時級別:14 | 在線時長:259小時 | 升級還需:26小時
註冊日期: 2007-10-09
文章: 169
精華: 0
現金: 305 金幣
資產: 7305 金幣
預設

引用:
作者: sob790717b 查看文章
開發環境:VB6


1.如何解決一個程式視窗多開後都按右上角X鈕關閉時 程式實際上還在運作
但視窗已不可見

2.如果要寫一個檢查程式有沒有更新的機制 有沒有方法是對於新手較易學的
程式的更新檔是放在 http 協定的空間裡



請各位程式高手大大教導
ans1. 程式實際上還在運作 , 有好幾種情形都會引起有這 情況. (至少有3~4種)
在不同情況有不同修改寫法 還得看源碼, 因為源碼必須調整, 所以你提問的不清楚 !
病人問:" 我發燒了, 請問我該吃?藥"
醫生: "發燒是症狀 , 無法反推你到底是生?病 ,不能用猜的 "

ans2. 網路上有些範例, 你可以去抓下來參考 , 檢查更新版本號, 這一類又可區分2大類
你問 的是第1類 ,大至寫法是 如此 (這已經是最簡單的了)
1.從某固定的網址(http://.... ) ,下載後 檔名(例如 a.htm)
2.分析a.htm 得到網路上的版本號bbb.xxx.xxx 和 下載的網址( http://xxx.....)
3 與 .exe 的版本號 進行比較
4. 若 a.htm 版本號bbb.xxx.xxx 比較新,就 依 (http://xxx.....) 下載 , 下載後 檔名(例如 temp.exe)
5. (a)提示 user 結束目前程式. 重新執行安裝新版temp.exe
(b)如果要寫的比較好一點 , 就 不必結束目前程式. 直接重新執行安裝新版temp.exe 進行換版


ps :A.下載程序大都是用inet 比較易寫易維護 (winsock也可 )
B.你還要注意一點 : 放a.htm 的網站千奇百怪 .經常都會 對你上傳的a.htm 寫入一些有的沒有的資料.
所以 過了一陣子,若網頁有變 . 所以會引起網址分析出錯變成無法下載到.exe , 你就得重新改寫你的源碼 and 重link 來配合. 切要!

第2類 ,是用網路激活 ,方式雖類似 但是設計困難度較高 , 此法可以有效防止軟體被破解.
就算軟體被修改, 正確的註冊資料仍舊在設計師指定的網路位置. 軟體一比對 若發現不符合就拒絕執行了. 防毒軟體大都採取此種設計.( 我上次貼的人脈名片管理也屬此種)
飛行船大大 目前離線  
送花文章: 176, 收花文章: 60 篇, 收花: 138 次
回覆時引用此帖
有 3 位會員向 飛行船大大 送花:
sob790717b (2009-09-01),甘無未來 (2009-09-02),羅迪 (2009-09-09)
感謝您發表一篇好文章
舊 2009-09-01, 12:57 AM   #3 (permalink)
註冊會員
 
sob790717b 的頭像
榮譽勳章
UID - 288487
在線等級: 級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時
註冊日期: 2007-12-16
文章: 378
精華: 0
現金: 655 金幣
資產: 835 金幣
預設

引用:
作者: 飛行船大大 查看文章
ans1. 程式實際上還在運作 , 有好幾種情形都會引起有這 情況. (至少有3~4種)
在不同情況有不同修改寫法 還得看源碼, 因為源碼必須調整, 所以你提問的不清楚 !
病人問:" 我發燒了, 請問我該吃?藥"
醫生: "發燒是症狀 , 無法反推你到底是生?病 ,不能用猜的 "

ans2. 網路上有些範例, 你可以去抓下來參考 , 檢查更新版本號, 這一類又可區分2大類
你問 的是第1類 ,大至寫法是 如此 (這已經是最簡單的了)
1.從某固定的網址(http://.... ) ,下載後 檔名(例如 a.htm)
2.分析a.htm 得到網路上的版本號bbb.xxx.xxx 和 下載的網址( http://xxx.....)
3 與 .exe 的版本號 進行比較
4. 若 a.htm 版本號bbb.xxx.xxx 比較新,就 依 (http://xxx.....) 下載 , 下載後 檔名(例如 temp.exe)
5. (a)提示 user 結束目前程式. 重新執行安裝新版temp.exe
(b)如果要寫的比較好一點 , 就 不必結束目前程式. 直接重新執行安裝新版temp.exe 進行換版


ps :A.下載程序大都是用inet 比較易寫易維護 (winsock也可 )
B.你還要注意一點 : 放a.htm 的網站千奇百怪 .經常都會 對你上傳的a.htm 寫入一些有的沒有的資料.
所以 過了一陣子,若網頁有變 . 所以會引起網址分析出錯變成無法下載到.exe , 你就得重新改寫你的源碼 and 重link 來配合. 切要!

第2類 ,是用網路激活 ,方式雖類似 但是設計困難度較高 , 此法可以有效防止軟體被破解.
就算軟體被修改, 正確的註冊資料仍舊在設計師指定的網路位置. 軟體一比對 若發現不符合就拒絕執行了. 防毒軟體大都採取此種設計.( 我上次貼的人脈名片管理也屬此種)
第一個問題我提供原始碼給您查看喔..

自行編譯後執行程式 然後點那個關於 開啟新視窗

然後都點右上X鈕關閉視窗

http://www.funp.net/127961
sob790717b 目前離線  
送花文章: 764, 收花文章: 211 篇, 收花: 412 次
回覆時引用此帖
舊 2009-09-01, 01:58 AM   #4 (permalink)
註冊會員
 
sob790717b 的頭像
榮譽勳章
UID - 288487
在線等級: 級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時
註冊日期: 2007-12-16
文章: 378
精華: 0
現金: 655 金幣
資產: 835 金幣
預設

http://img19.imageshack.us/img19/9494/96345501.th.jpg

INET 無法使用
我是使用VB6普及版的
跟這問題有關聯嗎
sob790717b 目前離線  
送花文章: 764, 收花文章: 211 篇, 收花: 412 次
回覆時引用此帖
舊 2009-09-01, 02:19 PM   #5 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9858小時 | 升級還需:138小時級別:97 | 在線時長:9858小時 | 升級還需:138小時級別:97 | 在線時長:9858小時 | 升級還需:138小時級別:97 | 在線時長:9858小時 | 升級還需:138小時級別:97 | 在線時長:9858小時 | 升級還需:138小時級別:97 | 在線時長:9858小時 | 升級還需:138小時級別:97 | 在線時長:9858小時 | 升級還需:138小時
註冊日期: 2002-12-07
文章: 13341
精華: 0
現金: 26444 金幣
資產: 3024304 金幣
預設

關於第一個問題
你可以在 Form1 的 Unload事件 ( Private Sub Form_Unload )
加上一句
Unload Form10
程式碼
(也可試試 使用 End)

因為你的程式是由
Form10當進入點
之後
只是把 Form10視窗隱藏起來而已 ( Form10.Hide)
所以
當你關閉 Form1時
Form10其實還在執行


而你製作的按鈕 [離開程式(&X)]

使用了 End,其描述如下
End 陳述式可以強制程式碼終止,無須經過 Unload、QueryUnload,或 Terminate 事件,或任何其它的 Visual Basic 程式碼。Unload、QueryUnload,表單與物件類別模組的 Terminate 事件都不會執行。由物件類別模組所建立的物件會被破壞、以 Open 陳述式開啟的檔案會被關閉,程式所佔用的記憶體空間也會被釋放。

End 陳述式是一種強制程式停止執行的方式。一般要結束 Visual Basic 程式前,都必須先載出所有表單,確定沒有其它程式引用到其中的物件,且沒有執行中的程式碼,才能結束。

==========
總之 End 陳述式 是一種懶人用法就對了
mini 目前離線  
送花文章: 2013, 收花文章: 8001 篇, 收花: 26805 次
回覆時引用此帖
有 3 位會員向 mini 送花:
sob790717b (2009-09-01),羅迪 (2009-09-09),飛行船大大 (2009-09-01)
感謝您發表一篇好文章
舊 2009-09-01, 04:32 PM   #6 (permalink)
註冊會員
 
飛行船大大 的頭像
榮譽勳章
UID - 282126
在線等級: 級別:14 | 在線時長:259小時 | 升級還需:26小時級別:14 | 在線時長:259小時 | 升級還需:26小時級別:14 | 在線時長:259小時 | 升級還需:26小時級別:14 | 在線時長:259小時 | 升級還需:26小時
註冊日期: 2007-10-09
文章: 169
精華: 0
現金: 305 金幣
資產: 7305 金幣
預設

引用:
作者: sob790717b 查看文章
http://img19.imageshack.us/img19/9494/96345501.th.jpg

INET 無法使用
我是使用VB6普及版的
跟這問題有關聯嗎
mini大已 說明的很清楚.

既然你在主選單 要想直接用結束
那你form10 中改成以下2行 (這樣即可)
語法:
Private Sub Timer1_Timer()
   Unload Me
   Form1.Show
End Sub
其實在實際設計中我幾乎沒使用end,因系統設計大的時候 很容易發生bug
下面這個送你ㄅ, 改用CloseAllForms Me
語法:
Public Sub CloseAllForms(frmCaller As Form)
   ' 程式功能 : 關應用程式中 所有的forms . 目前的form最後才關
   ' 傳入參數 : frmCaller - 最後才關的form名稱
   ' 傳出     : 無
   ' 使用範例 :
  '         CloseAllForms Me
   Dim Frm As Form
   
   On Error GoTo PROC_ERR
   For Each Frm In Forms
      If Not Frm Is frmCaller Then
         Unload Frm
      End If
   Next
   Unload frmCaller
   
   Exit Sub
PROC_ERR:
   MsgBox "Error: " & Err.Number & ". " & Err.description, , "CloseAllForms"
End Sub
-
ps:普及版功能有限制. 上網找專業版的 bt種子ㄅ !
飛行船大大 目前離線  
送花文章: 176, 收花文章: 60 篇, 收花: 138 次
回覆時引用此帖
有 3 位會員向 飛行船大大 送花:
cwvdavid (2009-09-01),sob790717b (2009-09-02),羅迪 (2009-09-09)
感謝您發表一篇好文章
舊 2009-09-02, 02:52 AM   #7 (permalink)
註冊會員
 
sob790717b 的頭像
榮譽勳章
UID - 288487
在線等級: 級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時
註冊日期: 2007-12-16
文章: 378
精華: 0
現金: 655 金幣
資產: 835 金幣
預設

那INET 元件的問題我無法使用...

有沒有winsocket的範例呢
另外關於飛行船大大說的下載ex.htm然後進行分析
藉此判斷是否版本不一樣
如果不一樣就提示使用者...

請問是著樣子的分析法?

因為我有一個 程式
要經常修正程式碼
想強迫使用者進行更新的動作

此帖於 2009-09-02 04:10 PM 被 sob790717b 編輯.
sob790717b 目前離線  
送花文章: 764, 收花文章: 211 篇, 收花: 412 次
回覆時引用此帖
向 sob790717b 送花的會員:
羅迪 (2009-09-09)
感謝您發表一篇好文章
舊 2009-09-04, 09:28 AM   #8 (permalink)
註冊會員
 
飛行船大大 的頭像
榮譽勳章
UID - 282126
在線等級: 級別:14 | 在線時長:259小時 | 升級還需:26小時級別:14 | 在線時長:259小時 | 升級還需:26小時級別:14 | 在線時長:259小時 | 升級還需:26小時級別:14 | 在線時長:259小時 | 升級還需:26小時
註冊日期: 2007-10-09
文章: 169
精華: 0
現金: 305 金幣
資產: 7305 金幣
預設

引用:
作者: sob790717b 查看文章
那INET 元件的問題我無法使用...

有沒有winsocket的範例呢
另外關於飛行船大大說的下載ex.htm然後進行分析
藉此判斷是否版本不一樣
如果不一樣就提示使用者...

請問是著樣子的分析法?

因為我有一個 程式
要經常修正程式碼
想強迫使用者進行更新的動作
大陸網站範例比較多, 但你的普及版可能 mswinsck shdocvw msinet 全都沒辦法用.
所以你只剩1個方式 就是用API ,上網搜 "URLDownloadToFile" 就可以了.
飛行船大大 目前離線  
送花文章: 176, 收花文章: 60 篇, 收花: 138 次
回覆時引用此帖
有 2 位會員向 飛行船大大 送花:
cwvdavid (2009-09-04),sob790717b (2009-09-04)
感謝您發表一篇好文章
舊 2009-09-05, 10:51 PM   #9 (permalink)
註冊會員
 
sob790717b 的頭像
榮譽勳章
UID - 288487
在線等級: 級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時級別:11 | 在線時長:188小時 | 升級還需:4小時
註冊日期: 2007-12-16
文章: 378
精華: 0
現金: 655 金幣
資產: 835 金幣
預設

有請A大或版主大大通融一下
我最近不能很常上史版... 程式撰寫問題也還沒完全搞定


有請幫忙留著文章
問題解決以後我會按已解決的
sob790717b 目前離線  
送花文章: 764, 收花文章: 211 篇, 收花: 412 次
回覆時引用此帖
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用

相似的主題
主題 主題作者 討論區 回覆 最後發表
今天大漏氣,兩個問題不會解決>_< sdanli 一般電腦疑難討論區 6 2005-02-24 03:33 PM
請教兩個問題 alice_cat 一般電腦疑難討論區 2 2004-11-16 08:44 PM
關於網路連線以及XP的兩個問題 kokid 一般電腦疑難討論區 3 2004-07-10 04:30 PM
請教各位一個問題 風之緣 一般電腦疑難討論區 2 2004-03-24 11:31 AM
XP的兩個問題 Super Ken 軟體應用問題討論區 5 2003-08-10 04:47 PM


所有時間均為台北時間。現在的時間是 06:56 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1