關于動態生成控件的問題
以下是我要實現在date列會自動彈出TMonthCalendar﹐編譯是沒問題﹐在執行時就報地址錯誤﹐還請幫看一下﹐或提出更好的解決的辦法
procedure TForm1.DBGrid1ColEnter(Sender: TObject);
var
rect:trect;
ar,ac:integer;
begin
if dbgrid1.SelectedIndex=2 then
begin
if assigned(fmonth) then
begin
fmonth:=TMonthCalendar.Create(self);
fmonth.AutoSize:=true;
fmonth.Date:=date;
fmonth.Parent:=self;
end;
ar:=TstringGrid(dbgrid1).row;
ac:=tstringgrid(dbgrid1).Col;
rect:=tstringgrid(dbgrid1).CellRect(ar,ac);
fmonth.Top:=rect.Top;
fmonth.Left:=rect.Left;
end
else
if assigned(fmonth) then
begin
fmonth.Free;
fmonth:=nil;
end;
end;