2010-03-25 22 views
2

我們的PowerBuilder應用程序相當大,並且在幾個PBL中有很多對象來組織我們的代碼。我們通常在一個窗口中有10個或更多數據窗口,這些數據窗口可能分佈在兩個或三個PBL上。對於版本控制,我們使用獨家檢出來避免合併衝突。SCC的PowerBuilder IDE定製

情況是,當你從Window畫家右鍵單擊一個數據窗口對象時,你會得到一個上下文菜單,其中包含「腳本」和「屬性」和「修改數據窗口...」等選項。我們希望添加一個用於「檢出......」以避免在多個PBL中搜索數據窗口。

任何想法如何做到這一點,或類似的,將不勝感激。

+0

聽起來像一個非常好的主意,但我無法想象你會怎麼去做。 IDE並不真正支持插件AFAIK – 2010-03-25 18:51:16

回答

2

我認爲你能做的最好的是在庫列表的頂部創建一個臨時庫,經由跳轉到他們找到您的數據窗口「修改數據窗口...」,然後將它們保存到您的臨時庫,並最後使用源代碼管理系統中的工具按名稱找到它們並鎖定它們。

我使用的另一個訣竅是取消選中清除.srd等文件的源代碼管理選項中的複選框,然後使用操作系統的查找工具搜索這些文件的名稱(因爲Powerbuilder仍然沒有「 t支持按名稱搜索對象...)。當然,如果你沒有很多對象,並且你的對象沒有多少引用,你可以使用Powerbuilder的搜索......但是你在那個幸運的位置知道誰?

1

我想你已經打了對很多人碰到一個問題,它的權利,通過在PB的一個漏洞,可以讓你開始編輯一個數據窗口沒有警告你看看運行。不幸的是,據我所知,無法鉤入上下文菜單。

但是,您可以掛鉤到工具欄項目中。如果是這樣的方式,我想去,我有足夠的空閒時間,我會寫,我會從工具欄啓動,這裏的應用就是它會做:

  • 查找PowerBuilder的窗口使用API​​
  • 查找當前工作表中PB
  • 獲取對象的名字在標題
  • 獲取當前應用程序(註冊表或PB.INI,根據PB的版本,並可能涉及如何讓工作區第一,然後當前目標)
  • 獲取庫列表(PB。INI文件或目標文件)
  • 這是開放
  • 找到所有的DataWindow控件(這可能涉及望着祖先來確定控制類型)
  • 再次確定數據對象爲這些控件(,你可以在對象上做一個LibraryExport()需要看的祖先)
  • 使用LibraryDirectory()來獲取所有的PBL的所有對象的列表
  • 查找數據對象的PBL
  • 扔了一個窗口,列出的數據對象和他們的PBL

OTOH,如果我有PBL Peeper(是的,這是偏頗的意見),我

  • 推出的「PBL偷窺者(瀏覽當前的應用程序)」我的桌面上的圖標(OK,這是一個謊言;我已經有PBL Peeper打開並且只是切換到瀏覽頁面)
  • Ctrl-Q(用於QuickFind)並開始鍵入對象的名稱(如果您暫停,它會在您的' VE類型)
  • 按[Enter]曾經接受快速查找的選擇
  • 按[Enter]再次展開對象
  • 查找問題,關於它的數據窗口控制和人民幣
  • 選擇「轉到默認數據窗口」
  • 如果它沒有在microhelp中顯示庫和名稱(我已經發布了一個版本已經很長時間了,而且我不能跟蹤什麼在發佈的版本),找到最多工具欄項目上上去的PBL

我知道這並不能達到檢出,但它確實「避免以獵取數據窗口在幾個PBL中「。而且,你可能比我的第一個建議快得多。

祝你好運,

特里

+0

我之前沒有使用過PBL Peeper。感謝這樣一個漂亮的工具! – 2010-03-26 13:02:08

+0

禁用未檢出對象的警告是我在選項變爲可用時所做的第一件事。 – 2010-03-26 20:56:19

1

我這樣做是對的方式右鍵單擊,然後選擇修改數據窗口。當畫家打開時,您可以從畫家的頭銜中讀取PBL。然後關閉DataWindow畫家,以便PB讓你查看DataWindow。對於查找任意用戶對象的更一般情況,請使用Terry的PBL Peeper方法。

+0

這是我們目前的做法。似乎有太多的步驟。右鍵單擊時,「檢查​​出......」不是很好嗎? – 2010-04-01 15:35:51

0

您可以將用於開發的PBL與用於部署的組織分開。

只要PBL名稱在兩個視圖之間不衝突到源代碼中。源代碼管理中註冊的PBG文件不會互相打開。

缺點是,當添加或刪除新對象時,您需要更新兩個位置。

我會創建一個數據窗口只有PBL與所有相關的對象,並把它們放在同一個目標。當我使用該子系統或報告時,我可以查看同一個庫中的所有對象。