關於dll的動態使用及限制問題 |
答題得分者是:pwipwi
|
papjaj
一般會員 發表:11 回覆:15 積分:5 註冊:2007-01-29 發送簡訊給我 |
各位好,
我最近在嘗試使用dll的方式為自己的程式保留擴充性, 但是對於dll檔在使用上有一些不明白的地方,希望請各位給我一些建議。 1.我是否可以將整個子程式寫在dll檔裡面,包含子程式的所有介面等。 2.如果1是可行的,那這些介面一定要用動態產生的嗎?還是可以用視覺化的方式設計然後才做成dll? 3.如果我做好了一個dll檔,我是否可以在主程式裡,重覆產生相同功能的子程式? (舉例說明,假如我做了個有計算機功能的子程式,那我是否可以在主功能裡產生2個或以上這個子程式的存在?即按一個鍵就產生一個子程式的視窗) 4.如果3成立,那我主程式這邊要怎麼去動態管理這些子程式?因為如果數量未定,那要怎樣去確定目前開了幾個,以及要去控制哪一個該啟動還是該關閉呢? 以上四點希能能請有經驗的前輩們賜教,有興趣的同好們也一起來討論吧 |
pwipwi
版主 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
您好:
針對你的問題, 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 發送簡訊給我 |
您好:
感謝您撥空回答, 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 發送簡訊給我 |
您好:
針對你第一個問題,我雖然沒真正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 發送簡訊給我 |
感謝您的回答
這樣我大致上了解了 我會試試看的 感謝^^ ===================引 用 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成立,那我主程式這邊要怎麼去動態管理這些子程式?因為如果數量未定,那要怎樣去確定目前開了幾個,以及要去控制哪一個該啟動還是該關閉呢? 以上四點希能能請有經驗的前輩們賜教,有興趣的同好們也一起來討論吧 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |