View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004349 | JEDI VCL | 00 JVCL Components | public | 2008-02-21 07:47 | 2008-03-05 08:01 |
Reporter | franklinhaut | Assigned To | obones | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | Daily / GIT | ||||
Target Version | Fixed in Version | 3.34 | |||
Summary | 0004349: JVMenu D7 "Canvas does not allow drawing" | ||||
Description | After upgrading to last revision the error persist, same case at Mantis 0004347 a new screenshot attached if you need I can dispose more data or a WTS conection. (send me a mail to franklin.haut@gmail.com ) | ||||
Tags | No tags attached. | ||||
2008-02-21 07:47
|
|
|
wait, is something wrong where, a can´t reproduce again... return the issue to me. |
|
Please try adding back DCX_CACHE in the call to GetDCEx and let me know if this helps. |
|
Ah ok |
|
Hi, the error occurs again, using DCX_CACHE the menus are wrong painted I produced the video to show whats happen in the two situations http://giro.no-ip.info:8000/JVMenuError/JVMenuError.html |
|
Can you tell me if it works with the very latest SVN version? |
|
Using the revision 11747 (last at moment), and patching file on 0004352 the problem continues... can i help with some more information ? ps.: its possible get a commit user on SVN to help on small implementations ? |
|
I build a executable on my machine and does not work (same message "Canvas does not allow drawing") then i copy the same executable to another machine using XP too, and the message doesn't appear. After removing the implementation on JVMenus lines 3688~3705 that work in the two machines... source removed: DC := GetDCEx(CanvasWindow, 0, (*DCX_CACHE or *)DCX_WINDOW); try if not Assigned(FBorderCanvas) then begin LastError := GetLastError; if (DC = 0) and (LastError = ERROR_SUCCESS) then FBorderCanvas := TJvDesktopCanvas.Create else FBorderCanvas := TControlCanvas.Create; FBorderCanvas.Handle := DC; end; if FBorderCanvas.Handle <> DC then FBorderCanvas.Handle := DC; DrawBorder(FBorderCanvas, WRect); finally ReleaseDC(CanvasWindow, DC); end; |
|
Yes, but removing this you no longer have the borders. However, I think you can solve the problem by putting back the code then remove this if (DC = 0) and (LastError = ERROR_SUCCESS) then FBorderCanvas := TJvDesktopCanvas.Create else FBorderCanvas := TControlCanvas.Create; and replace with this FBorderCanvas := TJvDesktopCanvas.Create; That should solve the problem on both your machines. |
|
yes, thats works in all machines, you can commit this changes ? |
|
The changes are now in SVN |
Date Modified | Username | Field | Change |
---|---|---|---|
2008-02-21 07:47 | franklinhaut | New Issue | |
2008-02-21 07:47 | franklinhaut | File Added: error5.JPG | |
2008-02-21 08:00 | franklinhaut | Note Added: 0014262 | |
2008-02-21 08:23 | obones | Note Added: 0014263 | |
2008-02-21 08:23 | obones | Status | new => feedback |
2008-02-21 08:58 | obones | Status | feedback => resolved |
2008-02-21 08:58 | obones | Resolution | open => unable to reproduce |
2008-02-21 08:58 | obones | Assigned To | => obones |
2008-02-21 08:58 | obones | Note Added: 0014264 | |
2008-02-21 10:05 | franklinhaut | Status | resolved => feedback |
2008-02-21 10:05 | franklinhaut | Resolution | unable to reproduce => reopened |
2008-02-21 10:05 | franklinhaut | Note Added: 0014265 | |
2008-03-04 04:31 | obones | Note Added: 0014271 | |
2008-03-04 18:45 | franklinhaut | Note Added: 0014275 | |
2008-03-05 06:00 | franklinhaut | Note Added: 0014281 | |
2008-03-05 07:12 | obones | Note Added: 0014282 | |
2008-03-05 07:33 | franklinhaut | Note Added: 0014283 | |
2008-03-05 08:01 | obones | Status | feedback => resolved |
2008-03-05 08:01 | obones | Fixed in Version | => Daily / SVN |
2008-03-05 08:01 | obones | Resolution | reopened => fixed |
2008-03-05 08:01 | obones | Note Added: 0014284 |