今天遇到的两个Delphi编程方面遇到的错误,写出来与大家共享!
第一个:
错误的代码
try
EnterCriticalSection(MyCs);
我的操作;
LeaveCriticalSection(MyCs); //如果发生异常,则不会执行该句,如果try是在一下循环里,则程序进程会死掉,因为前一
//个 EnterCriticalSection(MyCs) 未LeaveCriticalSection(MyCs)
except
end;
正确的代码
try
EnterCriticalSection(MyCs);
我的操作;
LeaveCriticalSection(MyCs);
except
end;
第二个:
错误的代码
function myFun(Color:TColor):Integer
begin
with Memo1 do begin
Font.Color:=Color; //本意是将参数Color赋值给 Font.Color的,可是在这里,因为是在 with结构里,实际的代码变成了
//Memo1.Font.Color:=Memo1.Color; 所以函数名里的参数不能用Color;
end;
end;
正确的代码
function myFun(CC:TColor):Integer
begin
with Memo1 do begin
Font.Color:=CC;
end;
end;
都是小错误,在这里写出来希望可以节省大家的时间。
本文分享了两个在Delphi编程中常见的错误实例:1. 在使用临界区时,异常处理不当可能导致进程死锁;2. 在with结构中,函数参数名称与内部属性冲突导致的问题。通过正确的代码示例来避免这些问题。
430

被折叠的 条评论
为什么被折叠?



