Mixing Visual Studio 6 with Visual Studio .NET

Hi All -

I fully expect the answer to this to be "why would you even ask this
question"; so, donning my flame retardant underwear :-) ....

We have a product that is built (compiled and linked) using Visual
Studio 6. In that product, we provide a facility for our end users to
construct their own add-on DLLs.

One of our customers has approached us with a requirement that the
add-on DLLs be built using Visual Studio .NET. Their corporate IT
department has standardized on the .NET development platform and will
not allow anyone in the company to install VS6.

The entry point interfaces between our product and the add-on DLLs are
all declared as 'extern "c" ... APIENTRY', so we shouldn't have a
basic call interface problem.

However, the parameters we are passing to those interfaces are MFC
objects such as CString and  CArray and classes containing some of
those. Since VS6 and VS.NET don't implement those objects the same
way, we have a problem.

It looks to me like we have three alternatives:

1) Build our product using .NET;

2) Find a way for the customers to build their DLLs using VS6;

3) Stop sending MFC objects across the call interface.

I'm partial to (3), but another one of our developers is not.

So, I'm looking to see if anyone has a fourth idea.

Thanks for your help!

--- tom
tom allebrandi
tom@ytram.com
0
Tom3960 (4)
2/17/2004 6:30:18 PM
vc.mfc 33608 articles. 0 followers. Follow

3 Replies
374 Views

Similar Articles

[PageSpeed] 34

1. is the "easy" solution for the customer. Painful for you because the IDE sucks, but
easy for the customer.

2. You are fighting a customer's IT department. Remember these are populated largely by
people who love to control other people by applying absurd standards which fly in the face
of common sense (one client I have has an IT depart that is (a) ubelievably concerned
about security and (b) mandates the use of FAT32 on all NT systems. Do you see fundamental
stupidity at work here...?). Lots of luck, but probably impossible.

3. This could be really painful. It means you have to rewrite all your DLLs to not use
MFC, which could impose a lot of problems (unless you are only passing CStrings as
LPCTSTRs, but that seems too optimistic a scenario).

The question is, since I think (2) is impossible, you are left with (1) and (3). The
problem with (3) is that you incur a lot of long-term development costs (losing MFC
flexibility), short term costs (converting and testing the DLLs), and very little gain
except the continued happiness of one customer. (1) may be the best long-term solution,
even if you only do the builds occasionally in VS7, because people without good taste are
abandoning VS6, or for good solid technical reasons must move to VS7. Eventually we will
be in a VS7 world, so (1) will have to be done anyway, so why not do it now? [My hope is
that a decent VS interface will be out before I am forced to abandon VS6, but for now I
have only one client who uses it because of serious technical reasons--features in VS7
that do not exist in VS6 are essential to their product]. Besides, it is better to
discover any problems in the VS7 build when you have only one customer making the request,
instead of having to enter panic mode when a majority of customers suddenly require it
Right Now No Kidding!
					joe



On Tue, 17 Feb 2004 13:30:18 -0500, Tom Allebrandi <Tom@Ytram.Com> wrote:

>Hi All -
>
>I fully expect the answer to this to be "why would you even ask this
>question"; so, donning my flame retardant underwear :-) ....
>
>We have a product that is built (compiled and linked) using Visual
>Studio 6. In that product, we provide a facility for our end users to
>construct their own add-on DLLs.
>
>One of our customers has approached us with a requirement that the
>add-on DLLs be built using Visual Studio .NET. Their corporate IT
>department has standardized on the .NET development platform and will
>not allow anyone in the company to install VS6.
>
>The entry point interfaces between our product and the add-on DLLs are
>all declared as 'extern "c" ... APIENTRY', so we shouldn't have a
>basic call interface problem.
>
>However, the parameters we are passing to those interfaces are MFC
>objects such as CString and  CArray and classes containing some of
>those. Since VS6 and VS.NET don't implement those objects the same
>way, we have a problem.
>
>It looks to me like we have three alternatives:
>
>1) Build our product using .NET;
>
>2) Find a way for the customers to build their DLLs using VS6;
>
>3) Stop sending MFC objects across the call interface.
>
>I'm partial to (3), but another one of our developers is not.
>
>So, I'm looking to see if anyone has a fourth idea.
>
>Thanks for your help!
>
>--- tom
>tom allebrandi
>tom@ytram.com

Joseph M. Newcomer [MVP]
email: newcomer@flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
0
newcomer (15972)
2/17/2004 7:05:48 PM
I like the idea of not passing MFC objects around.  If you don't want to
take that big of a hit though.  Maybe you could have entry points that take
CString (for backward compatibility) and write some new ones that take
LPCTSTR's for newer customers working on newer platforms.

Then, the CString version of your API would just call the LPCTSTR version
(or vica-versa) if it makes sense to do so.

"Tom Allebrandi" <Tom@Ytram.Com> wrote in message
news:9im430l7oig19oki5o5jj9l13q1pbqtgjr@4ax.com...
> Hi All -
>
> I fully expect the answer to this to be "why would you even ask this
> question"; so, donning my flame retardant underwear :-) ....
>
> We have a product that is built (compiled and linked) using Visual
> Studio 6. In that product, we provide a facility for our end users to
> construct their own add-on DLLs.
>
> One of our customers has approached us with a requirement that the
> add-on DLLs be built using Visual Studio .NET. Their corporate IT
> department has standardized on the .NET development platform and will
> not allow anyone in the company to install VS6.
>
> The entry point interfaces between our product and the add-on DLLs are
> all declared as 'extern "c" ... APIENTRY', so we shouldn't have a
> basic call interface problem.
>
> However, the parameters we are passing to those interfaces are MFC
> objects such as CString and  CArray and classes containing some of
> those. Since VS6 and VS.NET don't implement those objects the same
> way, we have a problem.
>
> It looks to me like we have three alternatives:
>
> 1) Build our product using .NET;
>
> 2) Find a way for the customers to build their DLLs using VS6;
>
> 3) Stop sending MFC objects across the call interface.
>
> I'm partial to (3), but another one of our developers is not.
>
> So, I'm looking to see if anyone has a fourth idea.
>
> Thanks for your help!
>
> --- tom
> tom allebrandi
> tom@ytram.com


0
Leo
2/19/2004 2:06:02 AM
In article news:<9im430l7oig19oki5o5jj9l13q1pbqtgjr@4ax.com>, Tom 
Allebrandi wrote:
> We have a product that is built (compiled and linked) using Visual
> Studio 6. In that product, we provide a facility for our end users to
> construct their own add-on DLLs.
> 
> One of our customers has approached us with a requirement that the
> add-on DLLs be built using Visual Studio .NET.

Inevitably ...

> It looks to me like we have three alternatives:
> 
> 1) Build our product using .NET;
> 
> 2) Find a way for the customers to build their DLLs using VS6;
> 
> 3) Stop sending MFC objects across the call interface.

Um.

4) write a wrapper (in VC6) that will allow your application to call an 
add-in DLL through a pure C interface (which you will have to define 
and publish). Your customers can then use VC7.1 (or any other 
compiler/language that can generate a DLL) to write a DLL that 
implements the pure C interface, and your application can call it 
through the wrapper.

5) As above, but require the customer to implement the add-on using COM 
interfaces.

Cheers,
 Daniel.
 

0
wastebasket (364)
2/19/2004 2:50:31 PM
Reply:

Similar Artilces:

Session mix-up issue
We ran into a strange issue 2 days back in our client's production environment. A remote user, logs in and finds out that the data available in the web page are from a different user. The client environement is having ..net 3.5 running on Windows 2003 server connected to an Oracle 10g DB. The web server is on NLB and in a DMZ. The sessions are maintained In proc. We analysed the IIS logs and the network logs for that duration and were not able to conclude if this was a security issue or a genuine application related issue. Request your inputs in solving this issue. Ben...

MAC OS Excel 2008 Visual Basic Programming
Hi All I have designed a application in MS Excel 2008 on Windows XP using Visual Basic Application (VBA). Each and every thing is going fine on my side. My client is using MAC OS and MS Office for MAC. When i deployed my application to Client end one serious problem comes arise. The problem is that when my client is opening this project he is getting it into the Design Mode. He is unable to select from drop downs, enter values to text boxes........ Please help me guys. I put my all the efforts. I think now its the time to put your efforts. ...

Visual project .user and debug parameters
Hi, I have noticed that when I debug my Windows Mobile application parameters passed to it are stored inside a .user. The problem is when another developper is getting my project he has to modify each project and add manually these parameters. Is there any way of fixing it ? Have you tried adding parameters in the application project properties? I couldn't tell from your message how you were adding the parameters. Tom "mosfet" <john.doe@anonymous.org> wrote in message news:46e80957$0$31569$426a74cc@news.free.fr... > Hi, > > I have noticed that when I debu...

new msgfilter.dll (file version 6.5.7650.22) for IMF
I no have support from Microsoft, but should like to get file msgfilter.dll (file version 6.5.7650.22). Where its take? -- Vit ...

Do I need Visual Basic for this?
I want to track my credit card charges that are out of grace period. April 28 was my first charge after a 0.00 balance. If someone can point me in the right direction to do this, I would appreciate it. This is basically what I'm trying to do: if (today -30) minus (April 28) < 0 then exit if (today -30) - (April 28) > 0 then get all rows from (April 28) to (today) filter all code "J" transactions (these are my transactions...my wife has her own code) add all payments filter all code "J" charges from (April 28) to (today -30) add all char...

How can I convert text to reference ? Ex: ISNUMBER(ADDRESS(6;10;2.
I'm trying to use above function to avoid doing it by coding. However ADDRESS function returns text and I cannot convert it to a reference, in order to use its result as input to other functions (like ISNUMBER or CELL). If I understand you correctly, try =INDIRECT(ADDRESS(G7,H7)) for example HTH, Bernd ...

More Outlook bugs... Rules are mixing up accounts!
*sigh* WHY do the rules in Outlook 2003 keep changing the accounts they are to apply to. ie. "When message arrives through MYACCOUNT@HERE.COM move it to the MYACCOUNT folder." ....changes to... "When message arrives through ANOTHERACCOUNT@HERE.COM move it to MYACCOUNT folder." - These rules were manually entered by me, not imported from OE6. - This is a fresh installation of Win XP Pro SP1 - Only action in OE6 was to import the old email account settings and contents through the Transfer Settings Wizard. The Outlook 2003 was installed and account info imported. If I fix...

ODBC driver error with Visual Foxpro Version 9
We have a VB6 application that works fine up to version 6 when using Microsoft Visual Foxpro driver (6.01.8629.01) to connect to a .dbf file . With Visual Foxpro version 9 (driver version 1.00.02.00) run on XP it gives the error message: [Microsoft][ODBC Driver Manager] Driver does not support this function. Is this the problem with the new odbc driver or something else? If true, how to fix it without moving to OLEDB. Thanks in advance for help Vanny "Vanny" <lim_v@bls.gov> wrote in message news:he48ip$hjm$1@blsnews.bls.gov... > We have a VB6 applic...

Desing Workflows graphically in Visual Designer and Upload them to
Hi everybody, I want to modell Workflows with the visual designer in Visual Studio 2005. Combined with the CRM SDK it should be possible to use them directly in MS CRM 4.0. Shouldn't it? You might ask "why modell them in visual designer?" The answer is simple. I need some graphics of the Workflows that I'm going to implement. I'm looking to avoid the seperation between graphic modell and implementation. So I want to modell them in VS 2005 and then simply upload them. Anybody any idea if this is possible or how it's done? Best regards Pascal On Sep 24, 4:32=...

.MIX files
I have several .MIX files (Microsoft Photo Draw) that were sent to me. Are there any other Microsoft programs that can read these files ?? I tried to even insert them into MS Word (XP version) but I have received errors everytime I try. Windows XP will preview in a window but I cannot import them into any application ! ...

Outlook Live #6
I am a little confused! I already have Office 2003 w/Outlook 2003. Why do I need to purchase a subscribtion in order to use Outlook Live or Intellisync for MSN? I want to be able , when traveling to have my MSN Hotmail account to look like my desktop Outlook! Thanks, John McGilvreay Because the ability to use MSN/Hotmail with Outlook is a subscription service.... what mail accounts are in your desktop Outlook? How are you getting MSN Hotmail into it now? -- Diane Poremsky [MVP - Outlook] Author, Teach Yourself Outlook 2003 in 24 Hours Coauthor, OneNote 2003 for Windows (Visual Quic...

Visual Basic Macro to print hidden worksheet
I have created a multi-choice test in Excel 2003 for students to use at the end of a unit. To prevent cheating the worksheet with the results on is hidden and password protected. I would like to provide a button at the bottom of the test worksheet which students can click when they finish. This will send a copy of the hidden worksheet to the printer with their results but I am unable to get it to work. Any ideas would be appreciated. Noel Hi Noel, Try: '===========>> Sub aTester() Dim SH As Worksheet Set SH = ActiveWorkbook.Sheets("Sheet1") '<&...

Outlook Express 6 Address Book Not working Properly
I am not able to open or create emails but can receive them. Also I can't import my address book. Any help here is greatly appreciated Mooch <Mooch@discussions.microsoft.com> wrote: > I am not able to open or create emails but can receive them. Also I > can't import my address book. Any help here is greatly appreciated Ask in an Outlook Express newsgroup. -- Brian Tillman Just poing me in the direction. I do apologize Brian I didn't think this was the right place "Brian Tillman" wrote: > Mooch <Mooch@discussions.microsoft.com> wrote: &g...

Visual Studio 2008 annoyance
Hi, Whenever I build a new website in VS 2008 Pro, it will create a duplicate folder for the .sln file. So if I create a website called NewProject, I will get the following: C:\Documents and Settings\...\NewProject\ C:\Documents and Settings\...\NewProject (2)\NewProject (2).sln Is this normal? Is there any way to have everything consolidated in a single folder? Thanks, Chris Hi Chris! > Whenever I build a new website in VS 2008 Pro, it will create a > duplicate folder for the .sln file. So if I create a website called > NewProject, I will get the following: ...

Mixed Icons
I created an application with Visual Studio 2005 under Vista and changed the only icon that the wizard created. When the app runs, the correct icon appears in the task bar and also if I click properties. However, the default icons appear on the quick lanch toolbar and in Windows Explorer. I read through about a years worth of messages on icons, but didn't see anything exactly like my problem. Thanks for any help, Curt You will want to make sure that the default icon is the first one in the EXE and that it has both a large and small icon (and 48x48 if you are specifying for XP or Vist...

Visual Studio Tools #3
We seem to be getting some unpredictable results at install time when our dll is loaded to the addins folder and GP is started. We are using the app.dyn.dll that the sdk installed, it seems to be a different version than what is installed when the tollkit is loaded on the customer system. We get one error at times stating that the dyn.dll does not match what was used during our build. And at other times we get an error stating some help window is missing. We have tried taking the dll from the sdk load, and from the toolkit load to do our builds, but get varying results on different s...

Data Labels #6
On the Chart Options there is an option DATA LABELS. This option lets you print the following VALUE, PERCENT, LABEL and LABEL + PERCENT. Is there any way that you can print the Value and the Label. Or is there anyway you can modify any part of what you want to print beside the section of the pie chart. You can manually change the text within each data label. This is rather tedious, so you can download one of the following Excel add-ins, which allow you to select a worksheet range to use as labels for your points; both are free, easy to install and use. If you want any particluar lab...

Outlook Profiles #6
Hello, I am trying to setup multiple outlook profiles under one login. I need to have 5 people to be able to access their individual email's through this one user ID. I am having issues with the password methods. I am using Active Directory, and Office 2K3. Can anyone help me?? thanks in advance, Josh ...

printing document a mix of text and photos imported from photoshop
Printer prints document where the text is accurate, however most of the phots come out black...anyone know why? Hi j hall (jhall@discussions.microsoft.com), in the newsgroups you posted: || Printer prints document where the text is accurate, however most of || the phots come out black...anyone know why? Microsoft Office Publisher 2003 and older are critical about printer drivers. Usually upgrading (or downgrading in some cases) will fix the problems you are encountering. If you have not already done so, you would want to visit the manufacturers website of your printer to download and inst...

Visual Basic
Hi Does anyone know where I can get a free password breaker for Visual Basic? I have a code at work we need to crack ASAP but the guy can't remember his password. Thanks James Q ...

VB.NET System.ExecutionEngineException
I am trying to run the following piece of code. Dim objCommandBars As CommandBars Dim objStandardBar As CommandBar Dim WithEvents mobjExplorer As Outlook.ExplorerClass mobjExplorer = CType(mobjOutLookApp.ActiveExplorer, Outlook.ExplorerClass) objCommandBars = mobjExplorer.CommandBars objStandardBar = objCommandBars.Item(8) <-- this statement generates an exception of the type - System.ExecutionEngineException which I am not even able to catch. But when I try to run the same statement in the immediate window it executes without any problem. Has anybody experienc...

Watching static class variables in Visual Studio C++
Why can't I use Watch window while debugging to view some protected static variables of my class? Why are only non static parameters visible to it? I am using MS VC 6.0. Thank you. cdr0@volcanomail.com wrote: > Why can't I use Watch window while debugging to view some protected > static variables of my class? Why are only non static parameters > visible to it? I am using MS VC 6.0. Try to enter the full name of variable: MyClass::myVariable. ...

How to accomplish mixed page orientation?
How can I have some pages with portrait and some pages with landscape orientation in the same visio file? Thanks, Keith Brickey Keith, In the File > Page Setup dialog, go to the "Page Size" tab and make sure that "Same as printer paper size" is not checked. When printing, you'll need to change the printer orientation to match the page that you want to print. This is only necessary if you're running a version of Visio older than Visio 2003. -- Dawn This posting is provided "AS IS" with no warranties, and confers no rights. "Keith Brickey...

NDR 4.4.6?
I get the following error when attempting to send to a particular DL. A configuration error in the e-mail system caused the message to bounce between two servers or to be forwarded between two recipients. Contact your administrator. <SERVER #4.4.6> How do I check the possibility of looping? Do the users in the DL have forwarding turned on within their mail properties in AD? "pscottlee" <pscottlee@discussions.microsoft.com> wrote in message news:196F18E2-895E-4AB9-A40E-8D2A6F2E0378@microsoft.com... >I get the following error when attempting to send to a particu...

[Outlook] mixed accounts
Dear Sirs, we work in a corporation with an exchange server and outlook client on every workstation. on some workstations we have installed an internet smtp account, so on these machines we have 2 mail accounts: 1 intra/exchange account and 1 internet/smtp account. The main question is: how can the user tell outlook which account should outlook use? Do you mean to send mail? >-----Original Message----- >Dear Sirs, >we work in a corporation with an exchange server and >outlook client on every workstation. on some workstations >we have installed an internet smtp account, so on...