组合控件问题(高手请进)(50分)

  • 主题发起人 主题发起人 lheast
  • 开始时间 开始时间
看来是没办法了。结束这个问题吧。等问题结束后会给分给你。
看下新问题谁能帮忙解决。
问题是利用ADOX创建一个表。我下面那段代码报错变量类型不对。
不知道那位大侠能解决。

procedure TForm1.Button3Click(Sender: TObject);
var
Ado,AdoTable,aColumn : OLEVariant;
begin
//打开数据库
Ado := CreateOLEObject('Adox.catalog');
Ado.ActiveConnection := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/new.mdb';
//创建表
AdoTable := CreateOLEObject('Adox.Table');
AdoTable.Name := 'student';
aColumn := CreateOleObject('Adox.Column');
aColumn.Name := 'bm';
aColumn.Type := 3;//'adInteger';
AdoTable.Columns.Append(aColumn);
Ado.Tables.Append(AdoTable);
//把表添加给数据库

end;
 
上面的代码你式了没有,的确可行的
 
baseyueliang :
我试了下,还真可以啊。你能说说TWMCommand在这里起的什么作用?
Msg := TMessage(Message);这里为什么要强制转化?
SendMessage(fEdit.Handle, Msg.Msg, Msg.WParam, Msg.LParam);在这里发个消息给fEdit就能触发Edit的onchange,这是为什么?
在这里非常感谢你的回答,原来还以为这个问题没办法解决呢。
 
baseyueliang :
我试了下,还真可以啊。你能说说TWMCommand在这里起的什么作用?
Msg := TMessage(Message);这里为什么要强制转化?
SendMessage(fEdit.Handle, Msg.Msg, Msg.WParam, Msg.LParam);在这里发个消息给fEdit就能触发Edit的onchange,这是为什么?
在这里非常感谢你的回答,原来还以为这个问题没办法解决呢。
 
把TWMCommand放一边先,你知道你的问题的症结所在吗?偶觉的在解决问题之前得找出问题症结所在,而你一开始介绍你的问题就是有错误和模糊的,而接下来又而你一味说的所其他人的答案是不对的,所以导致很多人为你的问题浪费了很多的时间,包括上面的thx1180。
 
baseyueliang:
其实我的问题很清楚,只是看的人不仔细看,问题标题很清楚了,是组合控件问题,而且我说的很详细。
如果看的人做过这个方面的一看就知道什么问题,其实就是个子控件发生事件后要向父控件(或者窗体)发送通知消息,通知消息就是放在wm_command中发出的。关键是有的人试也不试一下,就从别人的文章抄一点就ok,就像你第一次写的代码一样根本就不能实现,如果我不叫你按照我说的实际环境去试下,你还以为你第一次写的代码就可以实现,就像前面的几位一样。现在尽管你不说的代码是什么意思,但你的那段代码我也明白是怎么会事了。问题到此结束。
 
后退
顶部