<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Call a DLL script from VBA and ArcObjects code in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394826#M10542</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok. Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 05 Oct 2011 19:02:28 GMT</pubDate>
    <dc:creator>DemetrisDemetriou</dc:creator>
    <dc:date>2011-10-05T19:02:28Z</dc:date>
    <item>
      <title>Call a DLL script from VBA and ArcObjects code</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394818#M10534</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have a DLL script that launches a window where the user should may do the following selections: an input file, a field name, select between 2 option buttons and an output file name. However, I need to run this DLL via a VBA and ArcObjects code so as the user will not see the window of the DLL tool and the above selections will be given automatically within a loop so as to take various output files. Is that possible? Please help. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks Demetris&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 02 Oct 2011 09:02:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394818#M10534</guid>
      <dc:creator>DemetrisDemetriou</dc:creator>
      <dc:date>2011-10-02T09:02:58Z</dc:date>
    </item>
    <item>
      <title>Re: Call a DLL script from VBA and ArcObjects code</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394819#M10535</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If the code inside the dll displays a window then simply calling it from VBA will not change that.&amp;nbsp; What you can and can't do all depends on what is in the dll.&amp;nbsp; If the dll contains object classes then you can use those classes by referencing the dll in the VBA project.&amp;nbsp; If the dll contains public methods then you can call those methods by adding a Declare statement for each method inside your VBA project.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Oct 2011 12:22:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394819#M10535</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2011-10-03T12:22:29Z</dc:date>
    </item>
    <item>
      <title>Re: Call a DLL script from VBA and ArcObjects code</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394820#M10536</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the information. I note the following relevant details that may help:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I try to use the Thiessen Polygon 3.0 DLL downloaded from the link arcscripts.esri.com/details.asp?dbid=11958. This DLL creates Thiessen polygons. I have already placed this DLL in a toolbar that works fine. However, I need to incorporate it within a loop of the VBA code and I do not know any functions, procedures included in the DLL. However, I found a&amp;nbsp; relevant function from archives postings&amp;nbsp; &lt;/SPAN&gt;&lt;A href="http://forums.esri.com/Thread.asp?c=93&amp;amp;f=992&amp;amp;t=107377"&gt;http://forums.esri.com/Thread.asp?c=93&amp;amp;f=992&amp;amp;t=107377&lt;/A&gt;&lt;SPAN&gt; and I used it as shown in code below. In particular, I declare it and I try to call it via the Calldll() procedure and I receive the following message "Run-time error 13- Type mismatch". I think that the arguments of the function match with the appropriate data type provided. Could you please have a look in the code below to find what is going on? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Any more help, will be appreciate it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Public Declare Function CreateParcelsShape Lib "C:\Program&amp;nbsp;&amp;nbsp;&amp;nbsp; Files\ArcGIS\CreatePoly.dll" (Centroids As IFeatureClass, Block As&amp;nbsp; IPolygon, pFDS As IFeatureDataset)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub CallDll()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMxDoc As IMxDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMxDoc = ThisDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Get the active map (data frame)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMap As IMap&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMap = pMxDoc.FocusMap&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Get the layers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pLayers As IEnumLayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pLayers = pMap.Layers&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pLayer1 As ILayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pLayer1 = pLayers.Next&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do Until pLayer1 Is Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If pLayer1.Name = "Block12" Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Do&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pLayer1 = pLayers.Next&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pBlocks As IFeatureLayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pBlocks = pLayer1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pBlocksFC As IFeatureClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pBlocksFC = pBlocks.FeatureClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pBlocksCursor As IFeatureCursor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pBlocksCursor = pBlocksFC.Search(Nothing, False)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pBlockFeature As IFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pBlockFeature = pBlocksCursor.NextFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Get the shape of the polygon (Block)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim polygon As IPolygon&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set polygon = pBlockFeature.Shape&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pLayers2 As IEnumLayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pLayers2 = pMap.Layers&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pLayer2 As ILayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pLayer2 = pLayers2.Next&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do Until pLayer2 Is Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If pLayer2.Name = "CentroidsBlock12" Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Do&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pLayer2 = pLayers2.Next&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pCentroids As IFeatureLayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pCentroids = pLayer2&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get the dataset&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pFDataSet As IFeatureDataset&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pFWorkspace As IFeatureWorkspace&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pAWFactory As IWorkspaceFactory&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pAWFactory = New AccessWorkspaceFactory&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pFWorkspace = pAWFactory.OpenFromFile("C:\LACONISS\GAPopulation.mdb", 0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pFDataSet = pFWorkspace.OpenFeatureDataset("Polygons")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Call the DLL function&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CreateParcelsShape pCentroids, polygon, pFDataSet&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Oct 2011 06:22:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394820#M10536</guid>
      <dc:creator>DemetrisDemetriou</dc:creator>
      <dc:date>2011-10-05T06:22:27Z</dc:date>
    </item>
    <item>
      <title>Re: Call a DLL script from VBA and ArcObjects code</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394821#M10537</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;In your Declare statement the first parameter is of type IFeatureClass.&amp;nbsp; When you call the method in your code the first parameter you're passing in is of type IFeatureLayer.&amp;nbsp; That's a type mismatch - IFeatureClass and IFeatureLayer are not the same type.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Oct 2011 12:36:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394821#M10537</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2011-10-05T12:36:37Z</dc:date>
    </item>
    <item>
      <title>Re: Call a DLL script from VBA and ArcObjects code</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394822#M10538</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Neil,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks you are right. However, I have a new message now : "Run-time error 453-Can't find DLL entry point in C:\....*.DLL. I think that this acttually means that this function cannot run the DLL. Is that right? How can I find the so called "Entry point"?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Oct 2011 15:09:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394822#M10538</guid>
      <dc:creator>DemetrisDemetriou</dc:creator>
      <dc:date>2011-10-05T15:09:32Z</dc:date>
    </item>
    <item>
      <title>Re: Call a DLL script from VBA and ArcObjects code</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394823#M10539</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I downloaded the dll and looked at it in the Visual Studio object browser.&amp;nbsp; It appears to contain a single class - the command class that you can use in ArcMap.&amp;nbsp; It doesn't appear to have any public methods exposed other than those on the ICommand interface.&amp;nbsp; It looks like what you are trying to do is not possible with this dll.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Oct 2011 15:55:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394823#M10539</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2011-10-05T15:55:11Z</dc:date>
    </item>
    <item>
      <title>Re: Call a DLL script from VBA and ArcObjects code</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394824#M10540</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Neil. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So, I can use this DLL only as a command icon within ArcGIS? In this case, how can I find its GUID so as to run it through VBA using the Execute method of the ICommandItem interface?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Oct 2011 18:27:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394824#M10540</guid>
      <dc:creator>DemetrisDemetriou</dc:creator>
      <dc:date>2011-10-05T18:27:39Z</dc:date>
    </item>
    <item>
      <title>Re: Call a DLL script from VBA and ArcObjects code</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394825#M10541</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If the dll has been registered on your machine you can look it up in the registry.&amp;nbsp; You can also use the ProgId of the command instead of the GUID.&amp;nbsp; The ProgId is the library name and the class name separated by a period (i.e. esriCarto.FeatureLayer).&amp;nbsp; You can find these names by adding the dll as a reference to your VBA project and using the object browser.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Oct 2011 18:36:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394825#M10541</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2011-10-05T18:36:59Z</dc:date>
    </item>
    <item>
      <title>Re: Call a DLL script from VBA and ArcObjects code</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394826#M10542</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok. Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Oct 2011 19:02:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/call-a-dll-script-from-vba-and-arcobjects-code/m-p/394826#M10542</guid>
      <dc:creator>DemetrisDemetriou</dc:creator>
      <dc:date>2011-10-05T19:02:28Z</dc:date>
    </item>
  </channel>
</rss>

