General information
Category:
COM/DCOM and OLE Automation
Title:
How to use classes from an Accpac DLL?
Environment versions
Network:
Windows 2003 Server
I wonder if anyone can help me make use of classes in a DLL library?
I want to use the AccpacCOMAPI object, from the A4wcomex.dll, which has classes in it such as AccpacView, AccpacDBLink etc.
I can open the DLL in the Object browser to get this information - the object browser displays the following information about the DLL, together with a list of classes, and lists of methods and properties. Unfortunately I can only seem to find the methods and properties of the object when using it...
Library AccpacCOMAPI
ACCPAC COM API Object 1.0
File: C:\ACCPAC\AAS54A\PROGRAMS\RUNTIME\A4WCOMEX.DLL
Help File: This library doesn't have an associated help file.
GUID: {4E5368A1-A652-11D2-9B94-00104B71EB3F}
My first problem was how to create the AccpacCOMAPI object in VFP. By looking at the registry I figured out that I needed to use Accpac.Session.1, that is the ProgID of the DLL in the registry:
oSession = CREATEOBJECT("Accpac.Session.1")
But now I have my object, it only shows me the methods and properties of the AccpacCOMAPI library, I don't know how to see or use the library's classes, apart from the fact I can view them in the Object browser. For instance, I want to use the class AccpacDBLink, but the closest I can get to using it is to type myLink = oSession.GetDBLink(DBLINK_COMPANY, DBLINK_FLG_READWRITE) - where DBLINK_COMPANY and DBLINK_FLG_READWRITE constants I have defined by looking at the enums of the object.
Now GetDBLink is listed as a method of the class AccpacDBLink, therefore it is also a method of the AccpacCOMAPI library that I can see, and it works perfectly well for me to "bypass" the class and use this method directly, but I am coming unstuck when I want to use a class for which I cannot find a one-to-one relationship with one of the library's methods. I want to create a data object using the class AccpacView, but there is no single equivalent method of AccpacCOMAPI that I can figure out that returns this data object.
So, why can I see classes in the object browser, but they don't appear as classes/methods of the instance of the library that I have created? What vital piece of information do I need to make use of the library object classes, not just it's methods?
I have spent hours trying to figure this out, but I am stumped, and I may have to revert to using VB, where the classes are readily available...
Thanks,
Chris Palmer
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only