能详细说一下action:=cafree这句吗?好多书都没说清楚!
Posted jijm123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了能详细说一下action:=cafree这句吗?好多书都没说清楚!相关的知识,希望对你有一定的参考价值。
以上是关于能详细说一下action:=cafree这句吗?好多书都没说清楚!的主要内容,如果未能解决你的问题,请参考以下文章
vue el-upload上传文件方法 详细解答 action 和 http-request两种方式
C语言中有个img变量是这么定义的:IMAGE img。IMAGE是啥类型的变量?怎么用能不能详细说一下?
begin
Action:=cafree;
end;它的做用是不是相当于form.relase或form.free?
begin
action:=cafree; //TCloseAction = (caNone, caHide, caFree, caMinimize);end;
其中action有四种取值按顺风序分别:什么也不做,隐藏,释放,最小化
action代表当触发窗体OnClose事件时,以哪种方式去响应!
forms.pas的4513行就明白了
procedure TCustomForm.Close;
var
CloseAction: TCloseAction;
begin
if fsModal in FFormState then
ModalResult := mrCancel
else
if CloseQuery then
begin
if FormStyle = fsMDIChild then
if biMinimize in BorderIcons then
CloseAction := caMinimize else
CloseAction := caNone
else
CloseAction := caHide;
DoClose(CloseAction);
if CloseAction <> caNone then
if Application.MainForm = Self then Application.Terminate
else if CloseAction = caHide then Hide
else if CloseAction = caMinimize then WindowState := wsMinimized
else Release;
end;
end;
当等于caFree时就Release;
而Close是响应WM_CLOSE调用的
forms.pas的4093行
procedure TCustomForm.WMClose(var Message: TWMClose);
begin
Close;
end;
也可以是由你的代码调用
如果action:=cafree 就把分配给Tform类型实例的内存空间释放,但是,这仍然是不可靠的,因为,form实例的指针仍然指向这个内存地址,所以你必须在form.ondestroy事件中写如下代码:form:=nil;
这就完了吗?NO!
现在,你无法将它再实例化了,So,你在从新实例化它之前,必须如下:
if not assigned(form) then
form:=Tform.create(self);
form.show;
Free;
和
self.Free;
有什么区别?
vcmfc,great123,再操冰棍他妈的B----大贱B
vcmfc,great123,冰棍,你妈是我干的!真的!
vcmfc,great123,冰棍,Mda在床上等我,怎么办?
vcmfc,great123,冰棍,Mda叫我晚上去操她!
vcmfc,great123,冰棍,你老妈前几天跟一条狗搞在一起呀!!
vcmfc,great123,冰棍,你老妈前几天被狗操翻了