Canvas do es not allow drawing. 錯誤的解決!(100分)

  • 主题发起人 主题发起人 richling
  • 开始时间 开始时间
R

richling

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序中的action中有幾百條,分別對應mainmenu,介面上有些貼圖的按鈕,也一樣對應action.以前程序沒問題最近在action中加了些東西,當然mainmenu也加了,介面上的按鈕數也就6-7個,可現在我在改變action的caption的時候,會出現 does not allow drawing.的錯誤提示,程序會停在那個貼圖的按鈕的空間中.請教?
 
程序中是否有用多线程?
 
你大概用了第三方控件,我遇到过第三方控件的类似问题
 
To刘麻子: 沒有多線程.
To kerbcurb: 使用了第三方控件, 如何解決的?
 
这个提示,应该是资源不足吧,我经常出现的,关掉几个程序就好了。
 
这个提示,应该是资源不足吧,我经常出现的,关掉几个程序就好了。

98 下很明显
 
資源不足,不會吧,2500+ 和 xp系統就運行了這一個程序
 
这个错误一般不是资源不足引起的,虽然资源不足的确会引起无法CreateHandle失败,我认为一般情况下这个异常是因为TCanvas的FHandle还没有分配的时候就要求执行必须有FHandle才能进行的操作引起的,如下代码就是一个简单的例子(在VCL中似乎只有TCanvas.RequiredState才会引发这个异常)。
var
c: TCanvas;
begin
c := TCanvas.Create;
try
c.TextOut(0,0,'asd');//异常,未分配c.FHandle
ShowMessage(IntToHex(c.Handle, 8));//异常,未分配c.FHandle
finally
c.Free;
end;
end;
 
我遇到过这种情况,我原来有的控件可以DOCKING(停靠),但是我后来使用了XPMENU,如果我DOCKING的时候,就会出现和你一样的提示,没办法,我只好舍其一,祝你好运
 
TO shenloqi:
為啥原來action少的時候就沒問題,現在多加了20多條就出問題了呢?
這種問題如何解決呢?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
823
import
I
后退
顶部