線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1619
推到 Plurk!
推到 Facebook!

創造form後 無法執行 出現access violation at address

答題得分者是:P.D.
shihcai
一般會員


發表:7
回覆:3
積分:2
註冊:2010-06-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-08-28 18:02:05 IP:163.15.xxx.xxx 訂閱

[code delphi]
procedure TForm1.Button1Click(Sender: TObject);
begin
dm.ass.close;
dm.ass.sql.clear;
dm.ass.sql.add('select * from test');
dm.ass.open;
combobox1.Clear;
while not dm.ass.Eof do
begin
combobox1.Items.Add(dm.ass.fieldbyname('a').asstring);
dm.ass.Next;
end;
end;

[/code]
當我案執行的時候會出現'access violation at address 00487eee in module 'project1.exe'.read of address 0000005c'
請問我要如何解決 拜託各位大大指導一下 感恩
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-08-28 22:10:55 IP:118.169.xxx.xxx 未訂閱
僅就以下程式進行猜測
可能你的 dm 沒有被建立, 才會引發物件找不到的 Access error
===================引 用 shihcai 文 章===================

[code delphi]
procedure TForm1.Button1Click(Sender: TObject);
begin
dm.ass.close;
dm.ass.sql.clear;
dm.ass.sql.add('select * from test');
dm.ass.open;
combobox1.Clear;
while not dm.ass.Eof do
begin
combobox1.Items.Add(dm.ass.fieldbyname('a').asstring);
dm.ass.Next;
end;
end;

[/code]
當我案執行的時候會出現'access violation at address 00487eee in module 'project1.exe'.read of address 0000005c'
請問我要如何解決 拜託各位大大指導一下 感恩
shihcai
一般會員


發表:7
回覆:3
積分:2
註冊:2010-06-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-08-30 14:21:29 IP:163.15.xxx.xxx 訂閱

[code delphi]
unit unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DateUtils,StdCtrls, DBCtrls, ExtCtrls, Grids, DBGrids, DB, Mask, ComCtrls;

type
TF1_SCHEDULE = class(TForm)
GroupBox1: TGroupBox;
DBGrid1: TDBGrid;
Panel1: TPanel;
ComboBox1: TComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DataSource1: TDataSource;
DateTimePicker1: TDateTimePicker;
Edit1: TEdit;
Label6: TLabel;
Label7: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure FormActivate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
F1_SCHEDULE: TF1_SCHEDULE;

implementation
uses dm1;
{$R *.dfm}
procedure TF1_SCHEDULE.FormActivate(Sender: TObject);
var
n:string;
begin
dm.ass.close;
dm.ass.sql.clear;
dm.ass.sql.add('select * from Circle_report where use_ok is null');
dm.ass.open;
combobox1.Clear;
while not dm.ass.Eof do
begin
combobox1.Items.Add(dm.ass.fieldbyname('assemble_lot').asstring);
dm.ass.next;
end;

end;

[/code]
請問一下大大 我重新用後已經可以連結了 不會出現錯誤,但是不知道現在為什麼又出現同樣的問題了 請問各位大大 是我的ADOQ有哪裡設定錯誤嗎 還是甚麼沒打開?
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-08-31 09:08:21 IP:118.169.xxx.xxx 未訂閱
第二次貼的程式, 還是看不出個所以然, 我想重點還是在於你的 DM 物件的宣告及建立, 請從這裡查起, 另外放在 ONACTIVE 並不是很恰當(但不知道你的目的, 所以不清楚要放那比較適合)
也有可能是放在ONACTIVE 會引發, 不妨嘗試放在 ONSHOW 上看看
系統時間:2024-04-19 16:47:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!