帮忙看一下下面那段程序为什么在取值的时候出错,谢谢了!type
PMyRecord=^Myrecord;
MyRecord=Record
Id:string;
Name:string
end;
var
Dep_EmpForm: TDep_EmpForm;implementation
uses dm;
{$R *.dfm}procedure TDep_EmpForm.FormCreate(Sender: TObject);
var
P:PMyRecord;
sqlstr:string;
TreeNode1,TreeNode2:TTreeNode;
begin
TreeNode1:=TVdep.TopItem;
sqlstr:='select group_id,group_name from group00';
dm.DataModule1.Result(dm.DataModule1.AllADOQuery,sqlstr);
dm.DataModule1.AllADOQuery.First;
while not dm.DataModule1.AllADOQuery.Eof do
begin
new(P);
P.Id:=trim(dm.DataModule1.AllADOQuery.fieldbyname
('group_id').AsString);
P.Name:=trim(dm.DataModule1.AllADOQuery.fieldbyname
('group_name').AsString);
TreeNode2:=TVdep.Items.AddObject(TreeNode1,P.Name,P);
TreeNode2.ImageIndex:=0;
TreeNode2.SelectedIndex:=1;
dispose(P);
dm.DataModule1.AllADOQuery.Next;
end;
dm.DataModule1.AllADOQuery.Close;
end;procedure TDep_EmpForm.TVDepClick(Sender: TObject);
var
group_id,Group_name:string;
begin
group_id:=PMyRecord(TVDep.Selected.Data).Id;
group_name:=PMyRecord(TVDep.Selected.Data).Name;
end;
PMyRecord=^Myrecord;
MyRecord=Record
Id:string;
Name:string
end;
var
Dep_EmpForm: TDep_EmpForm;implementation
uses dm;
{$R *.dfm}procedure TDep_EmpForm.FormCreate(Sender: TObject);
var
P:PMyRecord;
sqlstr:string;
TreeNode1,TreeNode2:TTreeNode;
begin
TreeNode1:=TVdep.TopItem;
sqlstr:='select group_id,group_name from group00';
dm.DataModule1.Result(dm.DataModule1.AllADOQuery,sqlstr);
dm.DataModule1.AllADOQuery.First;
while not dm.DataModule1.AllADOQuery.Eof do
begin
new(P);
P.Id:=trim(dm.DataModule1.AllADOQuery.fieldbyname
('group_id').AsString);
P.Name:=trim(dm.DataModule1.AllADOQuery.fieldbyname
('group_name').AsString);
TreeNode2:=TVdep.Items.AddObject(TreeNode1,P.Name,P);
TreeNode2.ImageIndex:=0;
TreeNode2.SelectedIndex:=1;
dispose(P);
dm.DataModule1.AllADOQuery.Next;
end;
dm.DataModule1.AllADOQuery.Close;
end;procedure TDep_EmpForm.TVDepClick(Sender: TObject);
var
group_id,Group_name:string;
begin
group_id:=PMyRecord(TVDep.Selected.Data).Id;
group_name:=PMyRecord(TVDep.Selected.Data).Name;
end;
解决方案 »
- listbox 避免重复添加
- 这个软件能要多少钱??
- 求助:用TUdateSql控件保存BLOB字段时报错说,LOB定位器无法定位?
- 请问有什么好的串口调试工具,可以模拟串口发送数据的???????
- 如何获得系统目录下的system路径?
- 好书共享
- 几个dbedit,新增记录时,用DBNav提交,焦点没有离开的那个dbedit的内容没有提交上???
- 如何使stringgird 中的单个小格的字体颜色变成红色
- access中日期的格式怎么写??还有,偶有一堆edit框,偶想让任何一个为空时,跳出messagebx,用什么语句实现呢??(牛虻)
- 最顶端的模态窗口???
- 求教关于Socket通讯----分用完了,很急!!!
- 有人知道吗?在线等.
PMyRecord=^Myrecord;
MyRecord=Record
Id:string;
Name:string//
end;
没看出什么错误,就只发现这里少了个分号,不知道是不是错误的原因。
把这个放到删除节点的时候或程序结束的地方去
当前节点的附加数据是放在这个空间里的,指针的赋值只是内存地址的赋值,即把指针指指向其他地方,数据存放的位置并没有改变