使用 Frame 的 function 問題 |
缺席
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
請問各位:
我又遭遇一個不解之問題 版本: RadStudio Berlin 10.1 Update 2 Win7開發 Android 7.0 系統: FireMonkey 平台: win32 / 64 程式 我有 MainForm 及 Form2 與一支 TFrame 放在 Form2 上 (那支Frame 就是我之前分享的萬年曆程式!) 我是 MainForm call Form2 Form2 內的 Button Call 這個 Frame1, 因為要啟動一些初始參數值, 所以我在這支 TFrame 上寫了一組 public Function (name initialRun) 由 Form2 Button1 O n C lick 事件中去執行它, 如 Frame1.initialRun 之後我關閉 Form2 (Form2.Close) 要回到MainForm, 就引發錯誤 "Invalid Pointer Operation", 點掉錯誤是可以繼續執行不會當機, 如果我不去執行 InitialRun 的話, 就不會有這個錯誤, 但 xe 也只告知是這個錯誤, 無從查起是何原因, 後來我用一套工具來查, 得到一個比較詳細的錯誤 "Application made attempt to call method of already deleted object $0C856700 OBJECT [?] 28bytes" 接下來我做了一些測試, 如果我把程式放到 Android 上是不會當掉的, 我同時也把這支 TFrame 改用 Vcl 的模組開發在 Vcl Application 上, 同樣的運作也OK, 看來是FireMonkey 在 Win平台有這個問題, 難道是使用 Tframe時, 不能去宣告 public function 讓其他 Form去呼叫嗎? (運作中都正常, 就是一Close 就會引發錯誤) 如果真的這樣的話, 該如何解決呢? 因為 Frame啟動時要設定一些初始值及啟動, 而Tframe 又沒有 O n Active 或 O n Show 的事件可以使用, 所以非得由Form來Call它, 所以暫時還想不出其他辦法可以排除! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |