这似乎是世界上最简单的东西,我已经准备好把头发拉过来了.
我有一个看起来像这样的单位;
Unit myUnit; // ... //normal declarations //... Public //bunch of procedures including Procedure myProcedure; const //bunch of constants var //bunch of vars including myCounter:integer; Implementation Uses //(all my uses) // All of my procedures including Procedure myProcedure; try // load items from file to TListBox - this all works except on EReadError do begin // handle exception end; end; //try myCounter:=0; // <-- ACCESS VIOLATION HERE while myCounter //...etc
这是一个变量的简单分配,我不知道它为什么这样做.我已经尝试将该变量本地的变量声明到整个过程 – 无论我在哪里尝试这样做,我都不能在这个过程中向任何地方声明的整数赋值为0,而不会抛出访问权限违反.我完全难过了.
我从同一单元内的按钮OnClick处理程序中调用该过程,但无论我从哪里调用它都会引发异常.疯狂的是,我在整个程序中的十几个其他地方做同样的事情没有问题.为什么在这?我完全失去了.