none
數個專案整合 RRS feed

  • 問題

  • 各位先進好,

    我有三個不同功能的程式各自在不同的專案獨立開發,目前的需求是在另外一個專案寫一個登入介面,然後依照使用者的權限去決定可以使用哪一支程式,以及程式裡的哪一個tabpage,我不知道要怎麼把不同專案的程式綁在現在新的這個程式裡面,想麻煩各位指教一下。

    另外,或許是不是可以將每個tabpage包成dll?如果可以的話,去呼叫dll是不是會比較簡單?那應該要怎麼包成dll呢?

    實在是沒有這方面的經驗,請大家指教了,謝謝

    2015年2月5日 上午 07:44

解答

所有回覆

  • 如果要執行其他的程式, 可以呼叫Process類別的Start函式

    如果要建立DLL, 可以建立型態為[類別庫]的專案

    2015年2月5日 上午 11:41
  • 先改寫原有專案支援 Command Line

    例如透過 Command Line 傳遞權限

    後面的程式依據權限執行即可。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2015年2月5日 下午 12:46
  • 您好,

    請參考「How to use User Controls to create MDI WinForm Applications」。

    您可以在[類別庫]的專案裡使用 UserControl,
    然後再加到您的Tab裡去,。

    Assembly someDll;
     
    someDll = Assembly.LoadFrom(@"c:\你的.dll");
     
    UserControl uc = (UserControl) someDll.CreateInstance("ClassNameOfMyUserControlDerivedControl");
     
    this.Controls.Add(uc);


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2015年2月5日 下午 01:21
  • 想進一步請教,那如果我有三個win form的程式已用win form專案寫好了,沒有什麼辦法能複製過來,一定得從類別庫重做嘛?我是想把三個winform在不用重寫的條件下整合成一個程式,讓他變成一個專案裡面的不同form,這有辦法嗎?

    麻煩指教了,謝謝。

    2015年2月6日 上午 07:09
  • 您好,
    我想到有2個做法,
    1.從專案屬性那設定原它的屬性,從 Windows Application 改成 Class Library,Build成DLL給那個Winform程式加入參考,要用它的form就 new 出來!

    2.將那些Forms程式Copy到要用的Winform專案裡去!


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2015年2月8日 上午 03:51
  • 有一個方法你可以考慮,就是共用原始碼,這種方式通常應用在測試專案跟正式專案中。

    例如正式專案有 100 個 Form 好了,你有個 Form 會出問題,但是重頭測起很麻煩,所以可以建個測試專案,共用正式專案其中一個 Form ,在測試專案修改原始碼,重開正式專案就可以直接使用。

    這種方法違反專案管理精神,請自行評估。

    你可以參考這幾篇:

    [VB2003/2005] 共用原始碼

    VB2005 共用原始碼 2

    這篇的方法可以跨 Visual Studio 版本,前提是不能使用到不同版本的專用元件,只使用到自製元件或是通用元件則不受影響。

    [VS] VB2008 與 VB2012 共同編輯原始碼


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2015年2月8日 上午 04:50
  • thanks a lot, this is exactly what I need.
    2015年2月16日 上午 02:56
  • 謝謝幫忙
    2015年2月16日 上午 02:57