Access Violation at Address XXXX 問題請教 |
答題得分者是:max5020
|
frog1
一般會員 發表:25 回覆:40 積分:18 註冊:2007-01-24 發送簡訊給我 |
Hi, 各前輩
做資料庫編輯, 常需新增/修改資料庫資料, 非常煩索, 所以想做一個公用的的編輯程式, 只要在文字檔中設定好輸入的劃面, 及欄位名稱(需與對應的資料庫欄位名稱同), 即可由此做新增修改的功能 附件即為程式碼, 功能正常, 但執行行時會不定時的出現 Access Violation XXXX 的錯誤(該修改/新增的都有完成, 錯誤不影響功能), 查了好幾天, 還是無法解決, 只好請求前輩支援, 看是錯在那, 該如何修改, 或是有更好的方式來達到此目標 謝 使用前請將 ADOConnect 設到TableName = Customer 的地方 (或修改 ADODataSet1.CommandText) Customer的欄位名稱需有 CustCode,CustName,Address (或修改CustPanel.txt中的TEDIT資料) |
max5020
資深會員 發表:30 回覆:277 積分:321 註冊:2003-06-04 發送簡訊給我 |
|
frog1
一般會員 發表:25 回覆:40 積分:18 註冊:2007-01-24 發送簡訊給我 |
|
max5020
資深會員 發表:30 回覆:277 積分:321 註冊:2003-06-04 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
這應該很明顯是你的對應設計上有出現問題, 可能是某些對應到不存在的物件, 或者字段切入時, 物件還沒有被產生所導致, 利用f9tracer可以追蹤, 有一個好工具, 下載試用版來抓你的問題, 當程式當出時, 這個工具可以測到你錯誤的line code, 更方便知道是那裡出錯, 到這裡下載安裝吧
http://www.eurekalog.com/ |
frog1
一般會員 發表:25 回覆:40 積分:18 註冊:2007-01-24 發送簡訊給我 |
Hi,
感謝 Max5020及版主的指導, 終於找到問題了 為保持各呼叫主程式的各別性, 我在主程式上下了公用外的指令 如 (GroupBox1.components[GroupBox1.FindComponent('Confirm').ComponentIndex] as TBitBtn).OnClick := ConfirmInsClick; 又Procedure ConfirmInsClick中下 Destroy, 造成Component('Confirm'), 已Free了, 但ConfirmInsClick, 還未完成 呼叫主程式改為下列方式即可 非常感謝 Max5020及版主的指導 procedure TForm1.Button2Click(Sender: TObject); begin If BG <> Nil Then BG.Destroy; BG := TEditGroupBox.Create(GroupBox1,'CustPanel.txt'); (GroupBox1.components[GroupBox1.FindComponent('Confirm').ComponentIndex] as TBitBtn).OnClick := ConfirmInsClick; (GroupBox1.components[GroupBox1.FindComponent('Cancel').ComponentIndex] as TBitBtn).OnClick := CancelClick; end; procedure TForm1.CancelClick(Sender: TObject); begin // BG.Destroy; GroupBox1.Visible := False; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |