ads_queueexp

ads_queueexp

Anonymous
Not applicable
2,854 Views
8 Replies
Message 1 of 9

ads_queueexp

Anonymous
Not applicable

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.

0 Likes
Accepted solutions (1)
2,855 Views
8 Replies
Replies (8)
Message 2 of 9

Alfred.NESWADBA
Consultant
Consultant

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 -

------------------------------------------------------------------------------------
Alfred NESWADBA
ISH-Solutions GmbH / Ingenieur Studio HOLLAUS
www.ish-solutions.at ... blog.ish-solutions.at ... LinkedIn ... CDay 2026
------------------------------------------------------------------------------------

(not an Autodesk consultant)
0 Likes
Message 3 of 9

Anonymous
Not applicable

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.

0 Likes
Message 4 of 9

Alexander.Rivilis
Mentor
Mentor
Accepted solution
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
Expert Elite Member

Message 5 of 9

Anonymous
Not applicable

Thank you very much for the help everyone, ;-).

 

Martin.

0 Likes
Message 6 of 9

Alexander.Rivilis
Mentor
Mentor

@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
Expert Elite Member

0 Likes
Message 7 of 9

Anonymous
Not applicable

LOL, Done! 😄

0 Likes
Message 8 of 9

StephenPreston
Alumni
Alumni

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' Smiley Wink whoever answered you.

 

Cheers,

Stephen Preston
Autodesk Developer Network
0 Likes
Message 9 of 9

Anonymous
Not applicable

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.

0 Likes