IT do not install 3rd party programs so Is there a way to use ODCL without install 3rd party application?
It is possible to arxload the OpenDCL runtime instead of letting it load itself after installing. There's still an issue regarding this though: you still need all the required files (ARX/DLL) and the relevant settings like support paths - basically you need to manually change stuff which the install would have done for you.
Also if you manually arxload, you need to figure out which ARX you need to load for your acad version and 32/64 bit. This is done automatically for you by the OPENDCL command. So it makes you programming more complex than it would otherwise be - and it might cause unforeseen errors. That's probably why Owen's advising you against going this route. Also, I'm not sure if licensing would permit you to do this - you'd probably need to ensure you copy all the files from the install MSI (including any licensing stuff).
Did you try the (dcl_BlockList_Reset) method?
I did yes, but it had no effect. I added it as a final call in the c:RenBlocks_frmRenBlocks_btnRen_OnClicked event (i.e. after the rename happened). But the list would still show the old name - and then clicking on the old blockname would not update the preview tile.
As I understand the reset idea (from ODCL's help on the function), it reverts a blocklist from displaying an external DWG's blocks to displaying the current DWG's blocks. And for me it seems that's exactly what it does and no more - i.e. if it's already showing the current DWG's content, it doesn't "reset" to re-read the content.
This would make a nice OpenDCL sample. Do you mind if I steal it?
Sure any time! I don't mind ... especially as I've given the code away on here already
I would change the name to RENAMEBLOCK and make a few small changes. For example, I would put the initialization code inside OnInitialize instead of in the main function after the (dcl_Form_Show) call.
Good point! That would be a lot better, probably also minimize on errors! :kewl: