2014-09-29 26 views
0

我想在Delphi 7中創建類似「preloader」的東西:當用戶加載文件或執行一個需要一段時間的過程時,我想要一個指示器,顯示他的過程是工作但他必須等一下。在delphi7中執行swf

我記住一個加載欄或旋轉圓圈,如果有必要,不顯示已加載的百分比或剩餘百分比。

我創造了閃存旋轉圓圈,但我不能找到一種方法,在Delphi中使用7

我試圖通過一個動畫控制打電話給我的swf「預加載」,但失敗了,因爲它是唯一兼容avi文件。

我還下載了一個免費的旋轉圓圈在.gif中,並試圖將它添加到我的Delphi項目中的一個圖像控制,但這也失敗了,因爲圖像不兼容的GIF格式。

有什麼辦法可以在Delphi中創建這個「preloader」的knd或通過外部的swf或gif資源文件添加一個?這如何實現?

+0

最終我找到了解決方案。我在Delphi中安裝了shockwave組件,這爲我提供了一個新的ActiveX控件選項卡,當我把它放在窗體中時,我可以加載我想要的任何swf文件。案件結案。 – kostas 2014-09-30 15:16:49

回答

1

搜索互聯網論壇很多天後,我發現了以下解決方案。 首先,你必須已經安裝了Flash播放器(不是Adobe套件的Flash網頁設計者)。 如果沒有,那麼關閉Delphi並訪問Adobe的網站。從那裏你應該根據你的操作系統下載適當的Flash播放器。在您安裝,或者如果您已經安裝Flash播放器,然後按照以下步驟操作:

  1. 打開Delphi和進入菜單→組件→導入ActiveX控件。你會看到一個對話框。在 裏面你會看到一個組件列表。從此列表中搜索並找到 「Shockwave flash」組件。檢查它並按安裝。然後德爾福會問你一些問題 你不必花時間,只需按「確定」按鈕。

  2. 完成3-4個對話框後,Delphi將最終在 「ActiveX」選項卡中添加一個新組件。打開Delphi並選擇「ActiveX」選項卡,您將看到「ShockwaveFlash」組件作爲此選項卡的最後一個控件。

  3. 爲了使用它選擇此控件並將其放在窗體中。給出合適的尺寸 以及要播放的.swf(或.flv)文件的路徑和文件名。 如果您想連續播放或將「循環」設置爲false,則將屬性「play」,「loop」設置爲true,以便僅播放一次。

請注意:並非控件的所有屬性都應如其所用。例如,如果您希望通過代碼將您的文件顯示爲可見或隱藏(例如在按鈕的按下事件中),那麼您將發現該控件不符合您的命令。

1

我使用Eugene Kryukov的Flash引擎,但它現在還沒有發售。

另一種解決方案是使用嵌入式Web瀏覽器 - EmbeddedWB,它支持從框中的SWF。 我已經嘗試過它,它的工作原理。但是你必須安裝Internet Explorer。使用的樣本:地方上形式的組件,並做到這一點:

EmbeddedWB1.Navigate('C:\test.swf'); 

另一個解決方案 - 你知道,安裝組件ActiveX:

1)安裝flash

2)從德爾福菜單→組件→導入ActiveX控件

3)在列表finsd並選擇 「的Shockwave Flash ......」,按 「安裝」 按鈕

4)後,你會在對象檢查標籤「的ActiveX」組件ShackwaveFlash

5)上看到把路徑和文件名到「ShockwaveFlash1.Movie」屬性,
集ShockwaveFlash1.Loop和ShockwaveFlash1.Playing真的。 6)編譯,運行和享受。