` Printed Icetips Article

Icetips Article



Par2: Multiple DLL apps in IC
1998-06-20 -- Steve Parker
 
I created a two DLL app (ABC templates) -- note that all files also have
the NAME attribute -- in C5IC/C4IC as follows:

(1) Created a new app for the data (without a main procedure)
(2) Checked "Generate all file declarations" on the Global ...
     File Control tab
(3) In the Global Data area, I created the variables for the
     NAMEs _and_ gave each its initial value
(4) Set the project for 32 bit and target DLL
(5) Added the IC extensions
(6) Made the app
(7) Created a text file (to INCLUDE) with all the NAME variables
     where each line looked like:
         Contacts_  String(64),External,DLL(dll_mode)
         Ecodes_    String(64),External,DLL(dll_mode)
(8) In the user app, I included the above file in the Before
     File Declarations embed
(9) On the Global ... General tab, I checked Generate template
     globals and ABC's as EXTERNAL and made sure DLL was
     also checked
(10) On the File Control tab, I set File Attributes for All External
      and Declared in another app
(11) From the Application menu item, I inserted a module, selecting
      External DLL and pointing it at the LIB for the data app
(12) Named a dummy INC file on the DLL properties
(13) Made and testing in windows

Once it was working in windows, I moved the EXE and the
data DLL to my EXEC directory (using IISAPI broker). Ran
the first time (local testing with PWS2).

Because the app was already an IC app, I knew it worked on the
web, so I did not have to deal with that problem. But, also, because
I started with an existing app, all my difficulties were in getting it
to work in windows (forgot the NAME include file, forgot various
check boxes).

Now, the _only_ thing that behaved improperly was that while
the main app had a Return-to Page, the data app did not. Instead
of returning to the app's Return-to Page, it called the blue "restart
app?" page.



Printed May 1, 2024, 3:14 am
This article has been viewed/printed 35110 times.