fbpx
Welcome, Guest
Username: Password: Remember me
Visual Objects

Please use this forum to post questions about Visual Objects and Vulcan.NET
  • Page:
  • 1

TOPIC:

Missing ACE64 Methods 30 Dec 2019 15:15 #12406

  • rjpajaron's Avatar

  • rjpajaron

  • Topic Author


  • Posts: 250
  • Hi,

    I did this but it resulted XS9002
    [DllImportAttribute("ace64.dll", CharSet := CharSet.Ansi)]
    PUBLIC STATIC METHOD AdsMgGetOpenTables(hMgmtHandle AS IntPtr, pucUserName AS STRING, usConnNumber AS WORD, astOpenTableInfo OUT ADS_MGMT_TABLE_INFO, pusArrayLen OUT WORD, pusStructSize REF WORD) AS DWORD
    
    [DllImportAttribute("ace64.dll", CharSet := CharSet.Ansi)]
    PUBLIC STATIC METHOD AdsMgGetUserNames( hMgmtHandle AS IntPtr, pucFileName AS STRING, astUserInfo OUT ADS_MGMT_USER_INFO, pusArrayLen OUT WORD, pusStructSize OUT WORD ) AS DWORD

    AdsMgGetOpenTables and AdsMgGetUserNames are both functions found at ADS ACE AEF but missing in XSharp.ADS namespace.

    Thanks,

    Rene
    --

    Rene Pajaron

    Please Log in or Create an account to join the conversation.

    Missing ACE64 Methods 30 Dec 2019 16:14 #12407

  • Chris's Avatar

  • Chris


  • Posts: 2109
  • Hi Rene,

    You just need to add a semicolon at the end of the first line with the attribute. It's like in VO, where if you want to continue a statement to the next line, you have to tell that to the compiler with a semicolon.
    XSharp Development Team
    chris(at)xsharp.eu

    Please Log in or Create an account to join the conversation.

    Missing ACE64 Methods 30 Dec 2019 16:27 #12409

  • rjpajaron's Avatar

  • rjpajaron

  • Topic Author


  • Posts: 250
  • Chris wrote: Hi Rene,

    You just need to add a semicolon at the end of the first line with the attribute. It's like in VO, where if you want to continue a statement to the next line, you have to tell that to the compiler with a semicolon.


    I copied from ACE.AEF, usual VO syntax...

    and it works:
    _DLL FUNC AdsMgGetOpenTables( hMgmtHandle AS IntPtr, pucUserName AS STRING, usConnNumber AS DWORD, astOpenTableInfo OUT ADS_MGMT_TABLE_INFO, pusArrayLen OUT DWORD, pusStructSize REF DWORD ) AS DWORD PASCAL:ACE64.AdsMgGetOpenTables
    
    _DLL FUNC AdsMgGetUserNames( hMgmtHandle AS IntPtr, pucFileName AS PSZ, astUserInfo OUT 
    ADS_MGMT_USER_INFO, pusArrayLen OUT DWORD, pusStructSize OUT DWORD ) AS DWORD PASCAL:ACE32.AdsMgGetUserNames
    

    I hope so this will works on testing soon...

    --

    Rene
    --

    Rene Pajaron

    Please Log in or Create an account to join the conversation.

    Missing ACE64 Methods 30 Dec 2019 16:53 #12412

  • robert's Avatar

  • robert


  • Posts: 1846
  • Rene,
    One of these prototypes are for the 64 bit DLL. I think you need to change that to ACE32.
    In the next version of X# we have added some more prototypes. I will make sure that all the prototypes in the VO AEF are included.

    Robert
    XSharp Development Team
    The Netherlands

    Please Log in or Create an account to join the conversation.

    Missing ACE64 Methods 31 Dec 2019 14:38 #12421

  • rjpajaron's Avatar

  • rjpajaron

  • Topic Author


  • Posts: 250
  • robert wrote: Rene,
    One of these prototypes are for the 64 bit DLL. I think you need to change that to ACE32.
    In the next version of X# we have added some more prototypes. I will make sure that all the prototypes in the VO AEF are included.

    Robert


    Please do Robert,

    I need that two API to work. I am not yet sure mine will works. I use that to monitor activity and prevent admin from some task when other users are still in using some tables. Right now, I am still in the middle of 2nd "solutions" of our apps. Two more to go. I am in shock still on the degree of sophistication X# has become. I mostly coded on X# new stuff until now. I have so many bad codes in my VO stuff. Rather than run a refactoring and search and replace, I prefer to read errors and warnings to understand what it means. I was shock yesterday that X# requires subclass to have CONSTRUCTOR of its own and the error message is so cryptic for me. Hence, I posted about SUPER. I am use to SUPER:SomeMethodName()...

    Happy New Year. I am now happy to return to FOX on January. One of those thing that I love in X# IntelliSense. It is quite a notch than it was before. There is one thing you need to consider. See photos. It believe that also make it easier for us to browse fields, members and all those methods/properties as item on Solutions > Project Tree. Of course, the combo box is consistent on what we have on C#.

    Happy New Year. I cannot believe I am working on New Year's Eve....

    --

    Rene
    --

    Rene Pajaron
    Attachments:

    Please Log in or Create an account to join the conversation.

    • Page:
    • 1