Hello, well as all we know programms are not just 1 exe file..

when you download and install example MSOFFICE there is a .exe file (start file) and lot of other folders/files like *.wtf *.whatever ;ppp

well How this can be done? making lot of projects in 1 solution? it sound stiuped

but more stiuped is to create a programm ( a simple notepad ) and your work just a *.exe file

i would like to give me a link with information about that...
how to create appis, i mean strategy follow companys

And HOW Other files are conected with main *.exe

Soz for my bad english.

Recommended Answers

All 4 Replies

I'm struggling to follow what you're trying to say but maybe I got the gist of it. With C# you can add projects to your solution. It's not "stupid" because each of these projects is a separate part of your program and may or may not be used in other programs you create.

One specific example is the creation of class libraries (.DLL files). You can link these with other programs. DLL files allow you to reduce the foot-print of your specific applications.

Let's take MS Office as an example. You have just finished writing Word and Excel and now it's time to include support to save and open files. You believe that XML is the way to do it.

You have a choice to make here.
1. Create a library (part of your MS OFFICE solution) that contains all the functionality needed to save and load files in XML
2. Copy the code files into each separate Executable project.

#1 should be your immediate choice. Firstly, it allows the code to be used by whomever has access to that library. Secondly, it means you're only maintaining one piece of code and finally, it allows you to distribute a "common utility library" reducing the footprint of your future executables.

Say that your file load/save code is 100Mb (silly, but just go with it). If you were to build that into your executable, each executable would be 100mb bigger. MS Office has several programs; Word, Excel, Outlook, Publisher, Access, PowerPoint etc.
If you built all of those with the file code in there, you're increasing the size of your total build by 500Mb!

By separating it out, you're reducing the footprint, and allowing other programs access to the utilities (that you specify)


To answer your question about linking them, you simply add them as a reference to the project that you want to include them with.

...don't forget about packaging and distributing with an "installer".

I Know about linking but there is a problemw ith all this...

Example, ATM im creating a STORE-CLIENT-BANK-APPLICATION, just for fun, i just wanna check myself in GUI programming, you know prsonaly i like see a beutifull creations...

well i have my main exe were start programm and i have just code have to do with styling and few other things..

i use and "Connect.dll" were there are all events like:
Store fail logins in log file
Store Succes trys
And few tohers, i dont remember now because i have aboyut a week open it...

well that i do in "Connect.dll" can be done and in main exe file and it dont take space, totaly application is about 500 KB...

well, i wanna say, if "connect.dll" is missing then application will fail...

yea , making multiple files to above big size prcess is good idea, but if 1 of them miss then thats a problem...
soz for my bad english...

Why would it be missing?

Also, separation is good! It makes code more manageable and easier to read. You don't end up getting lost in reams of code!

You should always follow good code practice, regardless of the conditions of the application.
Just because your code base is small, does not mean you should just ignore the rules of good programming ^^

Also, repeating code in each of your clients is bad...What if you make a mistake in one client, you then copy and paste that to the rest and release it. Your customer comes to you one day and says "Hey I have found a bug!" You fix the bug from that client but you forget to fix it in the others.

However, if you had a central DLL that all the applications used, you would only have to change that one file and it would update all the clients.

Manageability and maintainability and VERY important. You will learn this when you move into the business world.

commented: + +15
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.