線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2112
推到 Plurk!
推到 Facebook!

關於dll的動態使用及限制問題

答題得分者是:pwipwi
papjaj
一般會員


發表:11
回覆:15
積分:5
註冊:2007-01-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-10-27 10:16:25 IP:219.87.xxx.xxx 訂閱
各位好,
我最近在嘗試使用dll的方式為自己的程式保留擴充性,
但是對於dll檔在使用上有一些不明白的地方,希望請各位給我一些建議。

1.我是否可以將整個子程式寫在dll檔裡面,包含子程式的所有介面等。
2.如果1是可行的,那這些介面一定要用動態產生的嗎?還是可以用視覺化的方式設計然後才做成dll?
3.如果我做好了一個dll檔,我是否可以在主程式裡,重覆產生相同功能的子程式?
(舉例說明,假如我做了個有計算機功能的子程式,那我是否可以在主功能裡產生2個或以上這個子程式的存在?即按一個鍵就產生一個子程式的視窗)
4.如果3成立,那我主程式這邊要怎麼去動態管理這些子程式?因為如果數量未定,那要怎樣去確定目前開了幾個,以及要去控制哪一個該啟動還是該關閉呢?

以上四點希能能請有經驗的前輩們賜教,有興趣的同好們也一起來討論吧
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-01-24 02:51:34 IP:118.168.xxx.xxx 訂閱
您好:
針對你的問題,

1.可以的,我有個project就是把介面用bcb做成dll,讓VC來呼叫
2.VCL所有的介面都是動態產生的....不太了解這個問題是?
3.可以做到,在dll的function被呼叫時,每次都create一個form即可。
4.在dll多做幾個function提供這些功能就可以了,不過基本上form如果是dll這邊create的話,就由dll來管理crerate和delete。

===================引 用 papjaj 文 章===================
各位好,
我最近在嘗試使用dll的方式為自己的程式保留擴充性,
但是對於dll檔在使用上有一些不明白的地方,希望請各位給我一些建議。

1.我是否可以將整個子程式寫在dll檔裡面,包含子程式的所有介面等。
2.如果1是可行的,那這些介面一定要用動態產生的嗎?還是可以用視覺化的方式設計然後才做成dll?
3.如果我做好了一個dll檔,我是否可以在主程式裡,重覆產生相同功能的子程式?
(舉例說明,假如我做了個有計算機功能的子程式,那我是否可以在主功能裡產生2個或以上這個子程式的存在?即按一個鍵就產生一個子程式的視窗)
4.如果3成立,那我主程式這邊要怎麼去動態管理這些子程式?因為如果數量未定,那要怎樣去確定目前開了幾個,以及要去控制哪一個該啟動還是該關閉呢?

以上四點希能能請有經驗的前輩們賜教,有興趣的同好們也一起來討論吧
papjaj
一般會員


發表:11
回覆:15
積分:5
註冊:2007-01-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-02-03 10:07:55 IP:219.87.xxx.xxx 訂閱
您好:
感謝您撥空回答,
1.我所說的第二點舉例來說:
我是否可以直接用拉元件的方式先把一個TabSheet上的東西都先拉好,然後功能也都寫好包在dll裡
再利用外部的程式把這個已經做好的TabSheet直接"貼"到外部程式的PageControl上??

2.在dll中宣告一個class,是否有什麼特定的宣告方式?因為我在dll裡寫了一個class,但是卻無法讓外部程式使用該class及class中的function....

最後,如您所說 「在dll多做幾個function提供這些功能就可以了,不過基本上form如果是dll這邊create的話,就由dll來管理crerate和delete。」
是否是指將create了多少個form的計數功能寫在dll裡?我對dll的特性不甚了解,所以有點難理解.

===================引 用 pwipwi 文 章===================
您好:
針對你的問題,

1.可以的,我有個project就是把介面用bcb做成dll,讓VC來呼叫
2.VCL所有的介面都是動態產生的....不太了解這個問題是?
3.可以做到,在dll的function被呼叫時,每次都create一個form即可。
4.在dll多做幾個function提供這些功能就可以了,不過基本上form如果是dll這邊create的話,就由dll來管理crerate和delete。

===================引 用 papjaj 文 章===================
各位好,
我最近在嘗試使用dll的方式為自己的程式保留擴充性,
但是對於dll檔在使用上有一些不明白的地方,希望請各位給我一些建議。

1.我是否可以將整個子程式寫在dll檔裡面,包含子程式的所有介面等。
2.如果1是可行的,那這些介面一定要用動態產生的嗎?還是可以用視覺化的方式設計然後才做成dll?
3.如果我做好了一個dll檔,我是否可以在主程式裡,重覆產生相同功能的子程式?
(舉例說明,假如我做了個有計算機功能的子程式,那我是否可以在主功能裡產生2個或以上這個子程式的存在?即按一個鍵就產生一個子程式的視窗)
4.如果3成立,那我主程式這邊要怎麼去動態管理這些子程式?因為如果數量未定,那要怎樣去確定目前開了幾個,以及要去控制哪一個該啟動還是該關閉呢?

以上四點希能能請有經驗的前輩們賜教,有興趣的同好們也一起來討論吧
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-02-03 12:56:45 IP:118.168.xxx.xxx 訂閱
您好:
針對你第一個問題,我雖然沒真正implement過相同的case。不過我確定是可行的,只要dll所用的VCL版本和主程式用一是一樣的就可行。

第二個問題,我指的function是指dll export的c function。另外,create和delete的作法可以學win32 api的handle方式,由dll create一個class,把pointer當作handle,class使用完後,再呼叫dll的function來release。

===================引 用 papjaj 文 章===================
您好:
感謝您撥空回答,
1.我所說的第二點舉例來說:
我是否可以直接用拉元件的方式先把一個TabSheet上的東西都先拉好,然後功能也都寫好包在dll裡
再利用外部的程式把這個已經做好的TabSheet直接"貼"到外部程式的PageControl上??

2.在dll中宣告一個class,是否有什麼特定的宣告方式?因為我在dll裡寫了一個class,但是卻無法讓外部程式使用該class及class中的function....

最後,如您所說 「在dll多做幾個function提供這些功能就可以了,不過基本上form如果是dll這邊create的話,就由dll來管理crerate和delete。」
是否是指將create了多少個form的計數功能寫在dll裡?我對dll的特性不甚了解,所以有點難理解.

===================引 用 pwipwi 文 章===================
您好:
針對你的問題,

1.可以的,我有個project就是把介面用bcb做成dll,讓VC來呼叫
2.VCL所有的介面都是動態產生的....不太了解這個問題是?
3.可以做到,在dll的function被呼叫時,每次都create一個form即可。
4.在dll多做幾個function提供這些功能就可以了,不過基本上form如果是dll這邊create的話,就由dll來管理crerate和delete。

===================引 用 papjaj 文 章===================
各位好,
我最近在嘗試使用dll的方式為自己的程式保留擴充性,
但是對於dll檔在使用上有一些不明白的地方,希望請各位給我一些建議。

1.我是否可以將整個子程式寫在dll檔裡面,包含子程式的所有介面等。
2.如果1是可行的,那這些介面一定要用動態產生的嗎?還是可以用視覺化的方式設計然後才做成dll?
3.如果我做好了一個dll檔,我是否可以在主程式裡,重覆產生相同功能的子程式?
(舉例說明,假如我做了個有計算機功能的子程式,那我是否可以在主功能裡產生2個或以上這個子程式的存在?即按一個鍵就產生一個子程式的視窗)
4.如果3成立,那我主程式這邊要怎麼去動態管理這些子程式?因為如果數量未定,那要怎樣去確定目前開了幾個,以及要去控制哪一個該啟動還是該關閉呢?

以上四點希能能請有經驗的前輩們賜教,有興趣的同好們也一起來討論吧
papjaj
一般會員


發表:11
回覆:15
積分:5
註冊:2007-01-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-02-03 20:51:19 IP:220.132.xxx.xxx 訂閱
感謝您的回答
這樣我大致上了解了
我會試試看的
感謝^^
===================引 用 pwipwi 文 章===================
您好:
針對你第一個問題,我雖然沒真正implement過相同的case。不過我確定是可行的,只要dll所用的VCL版本和主程式用一是一樣的就可行。

第二個問題,我指的function是指dll export的c function。另外,create和delete的作法可以學win32 api的handle方式,由dll create一個class,把pointer當作handle,class使用完後,再呼叫dll的function來release。

===================引 用 papjaj 文 章===================
您好:
感謝您撥空回答,
1.我所說的第二點舉例來說:
我是否可以直接用拉元件的方式先把一個TabSheet上的東西都先拉好,然後功能也都寫好包在dll裡
再利用外部的程式把這個已經做好的TabSheet直接"貼"到外部程式的PageControl上??

2.在dll中宣告一個class,是否有什麼特定的宣告方式?因為我在dll裡寫了一個class,但是卻無法讓外部程式使用該class及class中的function....

最後,如您所說 「在dll多做幾個function提供這些功能就可以了,不過基本上form如果是dll這邊create的話,就由dll來管理crerate和delete。」
是否是指將create了多少個form的計數功能寫在dll裡?我對dll的特性不甚了解,所以有點難理解.

===================引 用 pwipwi 文 章===================
您好:
針對你的問題,

1.可以的,我有個project就是把介面用bcb做成dll,讓VC來呼叫
2.VCL所有的介面都是動態產生的....不太了解這個問題是?
3.可以做到,在dll的function被呼叫時,每次都create一個form即可。
4.在dll多做幾個function提供這些功能就可以了,不過基本上form如果是dll這邊create的話,就由dll來管理crerate和delete。

===================引 用 papjaj 文 章===================
各位好,
我最近在嘗試使用dll的方式為自己的程式保留擴充性,
但是對於dll檔在使用上有一些不明白的地方,希望請各位給我一些建議。

1.我是否可以將整個子程式寫在dll檔裡面,包含子程式的所有介面等。
2.如果1是可行的,那這些介面一定要用動態產生的嗎?還是可以用視覺化的方式設計然後才做成dll?
3.如果我做好了一個dll檔,我是否可以在主程式裡,重覆產生相同功能的子程式?
(舉例說明,假如我做了個有計算機功能的子程式,那我是否可以在主功能裡產生2個或以上這個子程式的存在?即按一個鍵就產生一個子程式的視窗)
4.如果3成立,那我主程式這邊要怎麼去動態管理這些子程式?因為如果數量未定,那要怎樣去確定目前開了幾個,以及要去控制哪一個該啟動還是該關閉呢?

以上四點希能能請有經驗的前輩們賜教,有興趣的同好們也一起來討論吧
系統時間:2024-04-27 7:06:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!