473,383 Members | 1,818 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,383 software developers and data experts.

calling a function in a DLL from an EXE

If I create a WinApp (EXE) and a ClassLibrary (DLL), how do I call a class
'say' that displays a WinForm in the ClassLibrary from the WinApp?
TIA
Nov 17 '05 #1
2 2169
If you are looking for a higher-level answer than I have given you, please let me know.

1. Create a WinForms app (EXE) and add a reference to the class library (DLL) if your using VS.NET.
If your not using VS.NET, just build your EXE with a compiler switch that references your DLL

2. To invoke a method in the DLL you have a few options:

A. Create a class in the DLL that has a static method
B. Create a class in the DLL that has an instance method, and create an instance of the class from your EXE code

Here's an example in C# of using a static method:

/// WinForms code:

using DLLNamespace;

public namespace EXENamespace
{
public class EXEClass
{
static void Main() // app entry point
{
DLLClass.ShowWindow();
}
}
}

// Class Library Code:

using System.Windows.Forms; // this is a reference to a namespace found in a class library of the same name

public namespace DLLNamespace
{
public class DLLClass
{
public static void ShowWindow() // marked as 'static' so that you don't have to create a 'DLLClass' instance
{
MessageBox.Show("Here's a window, popped-up using code written in a class library");
}
}
}
--
Dave Sexton
dave@www..jwaonline..com
-----------------------------------------------------------------------
"Tony" <To**@discussions.microsoft.com> wrote in message news:DA**********************************@microsof t.com...
If I create a WinApp (EXE) and a ClassLibrary (DLL), how do I call a class
'say' that displays a WinForm in the ClassLibrary from the WinApp?
TIA

Nov 17 '05 #2
Thank you - that is exactly what I was asking - It was the adding a reference
that I missed
Thanks
Tony

"Dave" wrote:
If you are looking for a higher-level answer than I have given you, please let me know.

1. Create a WinForms app (EXE) and add a reference to the class library (DLL) if your using VS.NET.
If your not using VS.NET, just build your EXE with a compiler switch that references your DLL

2. To invoke a method in the DLL you have a few options:

A. Create a class in the DLL that has a static method
B. Create a class in the DLL that has an instance method, and create an instance of the class from your EXE code

Here's an example in C# of using a static method:

/// WinForms code:

using DLLNamespace;

public namespace EXENamespace
{
public class EXEClass
{
static void Main() // app entry point
{
DLLClass.ShowWindow();
}
}
}

// Class Library Code:

using System.Windows.Forms; // this is a reference to a namespace found in a class library of the same name

public namespace DLLNamespace
{
public class DLLClass
{
public static void ShowWindow() // marked as 'static' so that you don't have to create a 'DLLClass' instance
{
MessageBox.Show("Here's a window, popped-up using code written in a class library");
}
}
}
--
Dave Sexton
dave@www..jwaonline..com
-----------------------------------------------------------------------
"Tony" <To**@discussions.microsoft.com> wrote in message news:DA**********************************@microsof t.com...
If I create a WinApp (EXE) and a ClassLibrary (DLL), how do I call a class
'say' that displays a WinForm in the ClassLibrary from the WinApp?
TIA


Nov 17 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: Muthu | last post by:
I've read calling conventions to be the order(reverse or forward) in which the parameters are being read & understood by compilers. For ex. the following function. int Add(int p1, int p2, int...
6
by: jchao123 | last post by:
Dear All, I have an MDB file (Access 2000/XP) which contains generic routines I use in various apps (eg, API calls, File access classes etc). I have compiled into an MDE file which I reference...
14
by: ericellsworth | last post by:
Hi, I'm trying to use a class to pass variables back and forth from a form opened in dialog mode. I have created a class which invokes a form in its show method, like so: Public Sub Show() '...
1
by: Jesse McGrew | last post by:
Hi all, I'm trying to make a plugin DLL for a third-party application, using VC++ .NET 2003. This DLL acts as a bridge between the C++ plugin API of the application, and my actual plugin code...
5
by: Nick Flandry | last post by:
I'm running into an Invalid Cast Exception on an ASP.NET application that runs fine in my development environment (Win2K server running IIS 5) and a test environment (also Win2K server running IIS...
2
by: Geler | last post by:
A theoretical question: Sorry if its a beginner question. Here is a quote from the MSDN explaning the C/C++ calling convention.. It demonstrates that the calling function is responsible to clean...
18
by: John Friedland | last post by:
My problem: I need to call (from C code) an arbitrary C library function, but I don't know until runtime what the function name is, how many parameters are required, and what the parameters are. I...
15
by: dspfun | last post by:
Hi, Is it possible to print the function name of the calling function? For example, f1() and f2() both calls f3(), in f3() I would like to print the name of the function calling f3() which...
11
by: briankirkpatrick | last post by:
Forgive me if my post seems a little amateurish... I'm requesting assistance from some of you smart folks out there to get the managed calls write that meet the specification in the esa.h for...
16
by: teju | last post by:
hi, i am trying 2 merge 2 projects into one project.One project is using c language and the other one is using c++ code. both are working very fine independently.But now i need to merge both...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.