DLL Fragen
-
Hallo,
ich kämpfe gerade mit meiner ersten DLL, und hätte da mal ein par Fragen.
Ich möchte gerne die häufigsten Funktionen die ich so brauche in eine DLL packen.(Bitte keine Links zu den standart Tuts die hab ich schon durch und da steht alles (meiner Meinung nach) etwas oberflächlich drin.) Und warum kommen immer diese ****

Oder es hat jemand etwas gescheites.Also wie ist der beste Plan?
(Ich werde diese DLL ausschließlich aus meinen MFC-Anwendungen heraus aufrufen)1. Erweiterungs DLL und alle meine Funktionen in eine Klasse packen.
--> Das bekomm ich irgendwie nicht hin. Wo muss ich was importieren bzw. exportieren?2. Standart DLL und meine Funktionen in CMeineFunkApp schreiben.
--> Das geht, so siehts bei mir aus:
In der DLL:extern "C" __declspec(dllexport) void Test() { AFX_MANAGE_STATE(AfxGetStaticModuleState()); AfxMessageBox("CounterIntervall auserhalb des erlaubten Bereichs"); }In der Anwendung:
extern "C" __declspec(dllimport) void test(); void CGDTDlg::OnButton1() { test(); }Wie müsste das aussehen wenn ich die DLL an einem anderen Ort speichere außer an denen, an denen Windows eh danach sucht. Muß die LIB mit auf den Zielrechner?
Dann hab ich gelesen das man auch Etwas in die DLL imortieren kann.
Mein anliegen:
Ich habe eine Anwendung die aus drei Dialogen besteht. Jede erstellt ein Trayicon. Da liegt es ja nahe diese Funktion in eine DLL zu stecken, damit ich sie nicht 3x implementieren muß.Meine Funktion:
void CGDTDlg::TrayIconErstellen() { NOTIFYICONDATA nid; memset(&nid, 0, sizeof(NOTIFYICONDATA)); nid.cbSize = sizeof(NOTIFYICONDATA); nid.hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); nid.hWnd = m_hWnd; _tcsncpy(nid.szTip, "BlaBLa", sizeof(nid.szTip)); nid.uCallbackMessage = WM_USER_TRAY; nid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE; nid.uID = TRAY_ICON_ID; Shell_NotifyIcon(NIM_ADD, &nid); }In diesem Falle müsste ich ja bei jedem Dialog (bzw. jeder neuen Anwendung) für IDR_MAINFRAME, WM_USER_TRAY und TRAY_ICON_ID was anderes in die DLL übergeben bzw. diese Dinge überhaupt erst mal da rein bringen.
Vielleicht erbahmt sich jemand und Hilft mir ein bisschen auf die Sprünge, den Rest werd ich mit ausprobieren dann schon hinbekommen.

Im Voraus vielen Dank.
Gruß Sven