动态创建子窗体:
Form1.Create(Application);
Form1.showModal;Form1中有一个ClientDataSet1,取到的数据中有一个字段为StyleNo.关闭Form1:
TForm1.FormCloseQuery
CanClose := true;TForm1.FormClose
Action := CaFree;
Self := nil;再用同样的方法创建一个Form2在Form2中也有一个ClientDataSet1,取到的数据中没有StyleNo字段.ClientDataSet1我是这样取数据的:
if ClientDataSet1.Active then ClientDataSet1.EmptyDataSet; //No.1
ClientDataSet1.Close;
ClientDataSet1.Data := ....这样问题就出来了,打开Form1后再打开Form2取数据的时候,就提示错误:
ClientDataSet1:Field 'StyleNo' not found.
如果不打开Form1,先打开Form2就没有问题.
先打开Form2,再打开Form1也没有问题.哪位高手知道问题出在哪了,100分相送.谢谢!!!
Form1.Create(Application);
Form1.showModal;Form1中有一个ClientDataSet1,取到的数据中有一个字段为StyleNo.关闭Form1:
TForm1.FormCloseQuery
CanClose := true;TForm1.FormClose
Action := CaFree;
Self := nil;再用同样的方法创建一个Form2在Form2中也有一个ClientDataSet1,取到的数据中没有StyleNo字段.ClientDataSet1我是这样取数据的:
if ClientDataSet1.Active then ClientDataSet1.EmptyDataSet; //No.1
ClientDataSet1.Close;
ClientDataSet1.Data := ....这样问题就出来了,打开Form1后再打开Form2取数据的时候,就提示错误:
ClientDataSet1:Field 'StyleNo' not found.
如果不打开Form1,先打开Form2就没有问题.
先打开Form2,再打开Form1也没有问题.哪位高手知道问题出在哪了,100分相送.谢谢!!!
2.ClientDataSet1有没有固化字段
4.是不是有其它数据控件和ClientDataSet1相连,使用了StyleNo字段
5.是不是ClientDataSet1的某些事件中使用了StyleNo字段
if ClientDataSet1.Active then ClientDataSet1.EmptyDataSet; //No.1
ClientDataSet1.Close;
ClientDataSet1.FieldDefs.Clear; // 加上這二句試下,可能是這個原因吧。
ClientDataSet1.Fields.Clear; //
ClientDataSet1.Data := ....
你應該是
我怀疑这里有问题:
TForm1.FormClose
Action := CaFree;
Self := nil;
建议将Self := nil; 这句去掉
if ClientDataSet1.Active then ClientDataSet1.EmptyDataSet; //No.1
以上这句也没有必要,建议去掉