Friday, September 08, 2006

DX_Contrib Bugs fixed in version 0.2.1

The latest version of DX_Contrib fixes PaintIt and UnusedVariables.
Yup that's the beauty of library dlls. They can be used to fix or introduce bugs to several apps/plugins at once. In this case lets hope that the net result is more positive than negative. :)

Specifically fixed in version 0.2.1 of DX_Contrib are
  • An InvalidcastException which was being caused when PaintElementName was instructed to use the OverlayText PaintStyle (and posibly others)
  • An attempt to decorate elements even when they were hidden inside colapsed regions. Oops :)


These bugs would have affected any plugin attempting to call PaintElementName. Which includes PaintIt and UnusedVariables.

Anyway hopefully we can now resume our <cough/> usual high service. :)

10 comments:

rod said...

I've noticed a little bug in SortReferences. It works when using is outside namespace bracket like this one:

using System;

namespace Something
{
}

... but it doesn't work in such format:

namespace Something
{
using System;
}

Keep up good work ... I like this addin very much :)

Rory said...

Hi Rod,

Thanks for letting me know about this.

I must confess I hadn't even thought about putting namespace imports within a namespace block.

I didn't even know it was legal.

Either way I will make sure to modify MoveIt so that it can deal with this situation.

Keep an Eye on the blog and I'll let you know there when it's released.

Thanks again

rod said...

I will keep an eye on your blog ... for sure :).

Anyway ...

I've found another bug. There is some lagging in one of your plugin. I'm not sure which one. Currently I have not too much time to analyze this precisely.

I'm using :
DX_Contrib0.2.dll
CR_PaintIt.dll
CR_UnusedVariables.dll
Refactor_MoveIt.dll

If this files are in pligin dir there is some lagging during writing a code. You can easily check it .... just insert some empty lines in some code and then try to quicly delete this empty lines with Ctrl+Shift+L combination. There should be some lags in this operation if above dll's are loaded by DXCore.

rod said...

My small investigation points CR_PaintIT as a writing code lagger.

Rory said...

Kim Terp recently left a comment elsewhere on this blog that indicated she was also having issues with the speed of PaintIt.

Since then she discovered that she may have been running an older copy of PaintIt which was not using the latest version of DX_contrib(0.2)

(However she has not reported back to me on this and I do not have her email)

DX_Contrib(0.2) provides a caching mechanism which should be speeding PaintIt Up.

It's also worth noting that versions 3 and 4 of PaintIt both think that they are version 3 as far as internal versions go.

There are only 2 ways to make sure that you are running the right version of PaintIt.

1.> Use reflector and determine that PaintIt.dll is deopendent on DX_Contrib0.2.dll

2.> Download version 4 of PaintIt from http://www.rorybecker.me.uk/


So please be sure that you are in fact using this version of PaintIt.

If you find you are using the correct version, then some further information would be useful.

1.> Which version of visual studio are you using?

2.> Can you find any Messages/Exceptions in the DevExpress\ToolWindows\Diagnostics\Messages window which might point to PaintIt.

Thanks for any feedback.

Rory said...

Sorry that should have been versions 1.3 and 1.4 :)

Oops

rod said...

I'm using CR Paint from CR_PaintIt_BIN_1.4.zip. This DLL is version 1.3.0.0 in Assembly (chcek properties and version info of this dll)... but reflector points that it is using Contrib 0.2. so this should be ok.

1. Visual C# .NET 2003 Standard Edition + SP1 + DXCore + CodeRush + Refactor Pro 2.0.4 ... no any CR Plugins except yours.

2. Messages


Demand loading due "Document Activated" ....

Exception raised while registering plug-in
(System.Reflection.TargetInvocationException)
and
(System.NullReferenceException)

for ... CR_PaintIt and CR_UnusedVariables plugins

No more error messages


I don't think it is because of error .... it looks like some procedure gets too much processor time ....

to test it .. try to write quickly in this pattern: 4-5 letters [Enter] 4-5 letters [Enter] ... you should see the difference in speed if CR_PaintIt is loaded.


There is also another warning in messages ...

"A WM_PAINT message has been fired for a text view while it was already handling a previous WM_PAINT message."

unlimited071 said...

Hi Rory, I downloaded your plugin PaintIt! but I haven't been able to make it work.

I have Visual Studio 2005,
DXCore for visual studio 9.1
Refactor! for visual studio 9.1

I placed the PaintIt .dll file in the following directory:

C:\Program Files\DevExpress 2009.1\IDETools\System\DXCore\BIN\PLUGINS

Can you please tell me what I'm doing wrong or/and what i'm missing.. thanks!

Rory said...

Wow this one takes me back .... Apparently about 2.5 years :)

Well I'm not entirely sure this plugin will work given how far Coderush has moved on but I can offer some suggestions.

First You'll need the DX_Contrib.dll in the same directory as Paint.dll.

Second, in version 9.1.x, the DXCore should have asked you where you'd like to keep your 3rd party plugins..

This location default (I think) to beneath your MyDocs\DevExpress folder... This is where you should place your dlls in order for them to function.

Let me know how you get on.

Michael said...

I had same issue with the slowness of the CR_PaintIt but the 1.4 version fixes it. I was confused because I had rebuilt the plug-in from the source at dxcorecommunityplugins but it looks like the source code is version 1.3 and has not been updated to the 1.4 version.