Developing using Dexterity for Microsoft Dynamics GP 2015 or later

David Meego - Click for blog homepageToday, I was contacted by a fellow Dexterity developer who was having trouble getting Dexterity for Microsoft Dynamics GP 2015 or later to run Dynamics.dic in Test Mode.

In this article, I will take you through the errors you could get and how to resolve them. Some of these you might know from previous versions, others are new to GP 2015 or later.

Part of the #Dexterity Development Environments Series. See Summary at end for quick list.

For this article I am using Microsoft Dynamics GP 2015 R2 and Dexterity 14.00.0084 which comes on the DVD image. I have copied a clean Dynamics.dic from the application folder into a subfolder in the Dexterity folder. I opened the dictionary with Dexterity and selected Debug >> Test Mode (Ctrl-T).

The first error I get is “You need to run Dynamics.dic Utilities before you can run Dynamics.dic. Do you want to launch Dynamics.dic Utilities now?“.

Error1

Note: The name of the dictionary (in this case Dynamics.dic) will be whatever your development dictionary file is called.

This issue is has been around since the beginning and is because the Dynamics code is looking at the Dex.ini file for the settings INITIAL and SYNCHRONIZE and unless it can find those set to FALSE, it will think that it is the first time Dynamics GP is being launched and ask to go to the Utilities to set up the databases and synchronize the dictionary to the account framework.

Solution: The easiest solution is to copy the Dex.ini file from the Application’s Data subfolder to the Dexterity’s Data subfolder. However, be sure to make the couple of changes below:

  • Change DexHelpPath to point to the Dexterity folder.
  • Add ShowResids=TRUE (for pre GP 2015, GP 2015 now shows Resource IDs as default)

Launching into Test Mode again and I get “Unhandled script exception: SCRIPTS – data area EXCEPTION_CLASS_SCRIPT_MEMORY SCRIPT_CMD_EXTERN

Error2

 Clicking OK and the Login window opens, but it is not fully drawn.

 ErrorLogin

The problem here is that script that reads the ODBC Data Sources for the Server drop down list is trying to call an external library. This library is part of Dynamics GP, but not actually part of Dexterity and so is not installed.

Solution: Copy the GPDWIN32.dll from the Application folder to the Dexterity folder. This issue started from Microsoft Dynamics GP 2010 onwards.


Launching Test Mode again and I can login, but get another error just after login. The error is “Could not load file or assembly ‘Microsoft.Dynamics.GP.BusinessIntelligence.Homepage’ or one of its dependencies. The system cannot find the file specified.“.

Error3

This issue was introduced with Microsoft Dynamics GP 2013 when the homepage was changed.

Solution: Copy the following files from the Application folder to the Dexterity folder:

  • Microsoft.Dynamics.GP.BusinessIntelligence.Homepage.dll
  • Microsoft.Dynamics.GP.BusinessIntelligence.Homepage.Framework.dll

However, the error will still occur as GP 2015 now also requires the following file to be copied to the Dexterity folder:

  • GPIcons.dll

Note: GPIcons.dll is also needed for Dexterity for GP 2010, GP 2013 (& R2) and GP 2015 (& R2) to allow the toolbar and area page icons to show correctly.


Finally, you will also need to copy the following file to the folder where your development dictionary resides to avoid warnings when compiling:

  • Microsoft.Dynamics.GP.BusinessObjects.dll

Depending on your scripts you might also need the following files copied to the development dictionary folder to allow compilation without errors:

  • Microsoft.Dynamics.GP.ManagementReporterServices.dll
  • Microsoft.Dynamics.GP.Svc.Application.dll

Now you should be good to go. Good luck.

For more information, see these previous articles from my old blog:

Summary (TLDR)

Here is a summary of the files you need to copy.

From the Dynamics GP Application Data folder to the Dexterity Application Data folder (Data folder underneath where Dex.exe is) and also to the Dexterity Development folder (where your development dictionary is) if you are using separate Dex.ini files for each project (recommended):

  • Dex.ini file with DexHelpPath and ShowResids settings changed.

From the Dynamics GP Application folder to the Dexterity Application folder (where Dex.exe is):

  • GPDWIN32.dll
  • GPIcons.dll
  • Microsoft.Dynamics.GP.BusinessIntelligence.Homepage.dll
  • Microsoft.Dynamics.GP.BusinessIntelligence.Homepage.Framework.dll

From the Dynamics GP Application folder to the Dexterity Development folder (where your development dictionary is):

  • Microsoft.Dynamics.GP.BusinessObjects.dll
  • Microsoft.Dynamics.GP.ManagementReporterServices.dll
  • Microsoft.Dynamics.GP.Svc.Application.dll

Font and Scaling Issues

If you are using a High DPI monitor (anything that has DPI greater than 100%) then you will probably also have scaling issues with Dynamics and Dexterity.  Please see the following article for more info:

The archive below has the scaling.reg file with the registry setting needed and the manifest files for Dexterity and Dexterity Utilities. The registry file needs to be opened (using Run as Administrator) to install it and the manifest files need to be copied to the Dexterity Application folder (where Dex.exe is). A reboot might be needed for the change to take effect.

Hope this article helps make your life easier.

David

01-Oct-2015: Added note about copying GPIcons.dll so that icons show correctly.
29-Mar-2022: Added Summary with list of files and where they should be copied.
30-Mar-2022: Added Section about Font and Scaling issues.
08-Oct-2022: Fixed broken link for Dynamics and Dexterity Scaling zip file.

This article was originally posted on http://www.winthropdc.com/blog.

14 thoughts on “Developing using Dexterity for Microsoft Dynamics GP 2015 or later

  1. Dave,
    You’re a treasure. I don’t know what the GP developer community would do without you. So please, no skydiving, free climbing, base jumping, bull running, hang gliding, big wave surfing, or helicopter skiing.

    Jeff

    Like

  2. Great article – thanks! To get rid of the test mode launching error, I had to copy GPIcons.dll into the folder where the development dictionary resides rather than into the Dexterity application folder.

    Like

      • I just discovered that I have 2 instances of Dexterity v16 installed and was copying the files to the one that my launch shortcut was not pointing at. Oops, my mistake. For what it’s worth, copying all of the files to the dictionary folder and none to the application folder also seems to eliminate the error.

        Like

      • Hi Chuck

        That is a lot of file duplication that is not needed when you have lots of different project folders under you Dexterity folder.

        Just saying …

        David

        Like

  3. Absolutely amazing. Thank you so much for this you are a life saver. I’m now getting a “Cannot access this form because the dictionary containing it is not loaded.” when I try to access the employee maintenance screen in test mode. Any thoughts? My project dictionary is a copy of the dynamics.dic just renamed for this project so everything should be there I would think.

    Like

    • Hi Bill

      The security settings for that window must be pointing to an alternate version in another dictionary.

      It is expected that most lookups would give this error as they are alternate windows in the Smartlist dictionary.

      To fix, while in test mode create a new Alternate Modified Forms and Reports ID and change the user security to use the new ID.

      David

      Like

Please post feedback or comments

This site uses Akismet to reduce spam. Learn how your comment data is processed.