type
pmytype = ^mytype ;
mytype = record
data :string ;
next :pmytype;
end;{上面是定义 }
var
tmp : pmytype;
str : string ;
begin
str := 'asdcgdefete' ;
tmp := pmytpe(AllocMem(Length(str) + 4)); {这样申请内存空间是否有问题?}
tmp^.data := str ; {这样赋值是否有问题?}
tmp^.next := nil;
FreeMem(tmp);
end;请问我上面定义和使用自定义类型的数据是否有错,如果有错,错在哪里,如何解决? 谢谢
pmytype = ^mytype ;
mytype = record
data :string ;
next :pmytype;
end;{上面是定义 }
var
tmp : pmytype;
str : string ;
begin
str := 'asdcgdefete' ;
tmp := pmytpe(AllocMem(Length(str) + 4)); {这样申请内存空间是否有问题?}
tmp^.data := str ; {这样赋值是否有问题?}
tmp^.next := nil;
FreeMem(tmp);
end;请问我上面定义和使用自定义类型的数据是否有错,如果有错,错在哪里,如何解决? 谢谢
解决方案 »
- CheckListBox添加时闪烁?
- Delphi中怎么调整字的大小
- 开发过DB组件(数据感知控件)的近来一起探讨! 200409
- 以下程序内存缓缓增长,有何泄露?
- 急!!!简单的录音程序!
- 为什么在一段代码中多次用setlength改变同一个动态数组的大小编译时总出错?
- 怎样得到字符串的长度(不是字节数)急急急!!!
- 大量的delphi源码和delphi技巧,不看看可惜了
- 关于Report Bulider的简单问题,但是老是不对,请指教!急
- 请问如何发布在Delphi下用ADO开发的程序?
- 我的报表预览时不能显示全部字段,只显示一部分,在线等待
- 是不是只有用DBGRID,DBTEXT等类似的组件连接数据库时,更该信息才能用APPLYUPDATES?
var
tmp : PMytype;
begin
new(tmp);
tmp.Data := 'dsafdsf';
new(tmp.next);
tmp.next.Data := 'dsafsdf'; showMessage(tmp.data);
showMessage(tmp.next.data);
FreeMem(tmp.next);
FreeMem(tmp);
end;
TListEntry = record
Next: PListEntry;
Text: string;
Count: Integer;
end;
var
List, P: PListEntry;
begin
...
New(P);
P^.Next := List;
P^.Text := 'Hello world';
P^.Count := 1;
List := P;
...
Dispose(P);
end;
String {
WORD wLength;
WORD wValueLength;
WORD wType;
WCHAR szKey[];
WORD Padding[];
String Value[];
} String;
//测试数据
sizeof(myType)=8;
str := 'asdcgdefete' ;
length(str)+4=15;
//用法
tmp:=new(pmytype);
tmp.data:='Only for test';
edit1.Text:=tmp.data;
dispose(tmp);
pmytype = ^mytype ;
mytype = record
data :string ; {我的数据从1--2048字节都有可能,这里改如何解决?}
next :pmytype;
end;