Hi there,
Does anyone know how to get “ads_queueexpr” to work under AutoCAD 2013?
Private Declare Auto Function ads_queueexpr Lib "acad.exe" (ByVal strExpr As String) As Integer
ads_queueexpr("(command""_dtext"" p1 8 0)")
I asked ADN and they said it's now part of "accore.dll"
But I'm still not sure how to reference it.
Regards,
Martin.
Solved! Go to Solution.
Solved by Alexander.Rivilis. Go to Solution.
Hi,
change the read part (if you are speaking about AutoCAD 2013)
Private Declare Auto Function ads_queueexpr Lib "accore.dll" (ByVal strExpr As String) As Integer
ads_queueexpr("(command""_dtext"" p1 8 0)")
- alfred -
Hi,
I feel a little silly for not spotting that ;-). Thanks for the help.
That has helpped, it now sort of works but now I receive this error:
A call to PInvoke function <Mydll>::ads_queueexpr' has unbalanced the stack. This is likely because the managed PInvoke signature does not match the unmanaged target signature. Check that the calling convention and parameters of the PInvoke signature match the target unmanaged signature.
ADN sent me this code in C#, I write only in VB.net & cou;dn't onvert using one of the on-line converters:
using System.Text;
[DllImport("accore.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl, EntryPoint = "ads_queueexpr")]
extern static int ads_queueexpr(byte[] command);
UnicodeEncoding uEncode = new UnicodeEncoding();
ads_queueexpr(uEncode.GetBytes("(Command \"StartOverrule\")"));
Chers,
Martin.
Imports System Imports System.Text Imports System.Runtime.InteropServices Imports Autodesk.AutoCAD.Runtime Imports Autodesk.AutoCAD.ApplicationServices Imports Autodesk.AutoCAD.DatabaseServices Imports Autodesk.AutoCAD.Geometry Imports Autodesk.AutoCAD.EditorInput <Assembly: CommandClass(GetType(AutoCAD_VB_plug_in1.MyCommands))> Namespace AutoCAD_VB_plug_in1 Public Class MyCommands <DllImport("accore.dll", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.Cdecl, EntryPoint:="ads_queueexpr")> Public Shared Function ads_queueexpr(command As Byte()) As Integer End Function <CommandMethod("MyGroup", "MyCommand", "MyCommandLocal", CommandFlags.Modal)> _ Public Sub MyCommand() ' This method can have any name Dim uEncode As UnicodeEncoding = New UnicodeEncoding Call ads_queueexpr(uEncode.GetBytes( _ "(command " + Chr(34) + "_ZOOM" + Chr(34) + " " + Chr(34) + "_Extents" + Chr(34) + ")")) End Sub End Class End Namespace
Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"
Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
@Anonymous wrote:
Thank you very much for the help everyone, ;-).
Martin.
Kudos and Accepted Solutions will be helpful. 😉
Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"
Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Hi Martin,
An alternative to ads_queueexpr for running a command at startup - http://adndevblog.typepad.com/autocad/2012/04/autoloader-the-startupcommand-parameter.html.
BTW If you asked this question through ADN support, whoever answered you should have made sure you understood the specific changes required to your code. If you send me a private message with the Case number, I'll check the casenotes and 'educate' whoever answered you.
Hi Stephen,
I did get an answer and it was perfect. I was flapping because it was getting close to 5pm, and I didn't know if I would get my answer for the weekend. So no need to put the smack down. ;-).
Regards,
Martin.
Can't find what you're looking for? Ask the community or share your knowledge.