Klassen in DLLS

OOKKKK also ich versteh die Welt nicht mehr ich habe es jetzt mal in der Main so ausprobiert:
C++:
ver_ent v;
v.ver();
und welch ein wunder es Beept :D:D
aber warum geht ds nur so****?
Danke MFG
 
Zuletzt bearbeitet von einem Moderator:
@deepthroat was soll ich den posten fürn Code les mal durch alle Datein sin gepostet und wenn ihr wirklich die komplette DLL haben wollt gibts nett :D
naja das du gleich so aggresiv bist -.-
liegt wohl an mir naja -.-
Danke
@deepthroat Thread 2:
Wie ist C++? bei anderen klassen mach ich auch einfach nur Init Exit() usw und die sehen genauso aus und gehen anderst
OMG Ich bin echt verwirrt******
MFG
 
Hallo,

Test Exports ist definiert also der untere Code abschnitt ist ausgeblendet (in msvc++ 2010)

wo hast den den TEST_EXPORT genau definiert? Es müsste entweder in den Projekteinstellungen der DLL sein, oder in der ver.cpp.

Einmal fehlt in deiner Methode ein return.
Dem kann ich nur zustimmen, da der C++ Standart vorschreibt das jede Methode die nicht void ist ein return-Statement enthalten muss. Da deine Methode offensichtlich eine string zurückgeben soll, muss auch irgendwo ein return mit einem String stehen.
 
@MSVC++:
Das "v." und Vergleichbares kannst du nur weglassen, wenn es in einer Methode der Klasse vorkommt.
Anders wäre es auch gar nicht möglich. Woher soll der Compiler denn wissen, auf welche Variable sich das bezieht? Vor allem, wenn es mehrere des gleichen Typs sind?

Und nicht angegriffen fühlen, falls ich dich jetzt verwechsle, aber bist du nicht schön öfter darauf hingewiesen worden, dass man Posts bearbeiten kann? Wie war das mit dem 6/2-Thread?

Gruß
 
Ich habe schon lange jetzt ein Return eingebaut
Test exports in den projekteistellungen linker präprozessor definiert
( hoffe das ich mich nicht vertippt habe) hab gerade kein Rechner zur Hand.
MfG msvcplusplus
@Sheel ich fühl mich nicht angegriffen aber ja der bin ich mit den posts aller Dings ist es auf dem Handy ein bissl schwer zu bearbeiten denn wen ich drauf drücke passiert nichts:D
Also wenn ich threads bearbeite dann entweder hatte ich Glück oder ich bin vormn rechner
MfG
 
Zuletzt bearbeitet:
@deepthroat was soll ich den posten fürn Code
Auch wenn es lächerlich einfach und eigentlich selbstverständlich ist:

Die Stelle wo der Compiler einen Fehler festgestellt hat. :eek:

(zusätzlich den Kontext um die Stelle verstehen zu können, welchen Typ haben die Variablen, selbstdefinierte Typen die an der Stelle verwendet werden usw. Das sollte eigentlich selbstverständlich sein)
les mal durch alle Datein sin gepostet
Den Teil versteh ich nicht. Geht das auch auf Deutsch? Mit Satzzeichen? Bitte halte dich an die Netiquette. Danke.
und wenn ihr wirklich die komplette DLL haben wollt gibts nett :D
Wollte ich nicht. Ich bin an deiner DLL nicht interessiert.
naja das du gleich so aggresiv bist -.-
liegt wohl an mir naja -.-
Nicht nur an dir. In letzter Zeit stört mich allerdings die Arroganz mit der vor allem Anfänger hier erscheinen und ein Problem mit ihrem Code haben; Compilerfehler bekommen. Aber den Code (ausschnittsweise) hier reinzustellen um den es geht?! Nä, gibt es nich. :mad:

Es scheint ganz selbstverständlich zu sein, dass die Leute die helfen wollen, sich ellenlange Texte (voller Fehler) durchlesen müssen um allein durch Vorstellungskraft und Raterei einen goldrichtigen Tipp abzugeben.
@deepthroat Thread 2:
Wie ist C++? bei anderen klassen mach ich auch einfach nur Init Exit() usw und die sehen genauso aus und gehen anderst
Zeige den Code. Ich weiß nicht wovon du sprichst und habe keine Lust zu raten.

Aber ich kann dir sagen, wenn man eine Methode einer Klasse aufrufen will, benötigt man immer eine Instanz der Klasse.

Gruß
 
@depptroat
Also...
Der Code ist in einer Datei Namens Main.cpp.
Der code ist folgener:
C++:
#include <TestDLL.h> //Hier sind alle Header drin di benötigt werden

int WINAPI WinMain(  HINSTANCE hInstance, HINSTANCE hPrevInstance, char* pcCommandLine, int iShowCommand  )
{
	ver_ent v;
	v.ver(); 
        //So (also oben) funktioniert es aber so:
        ver(); //nicht (wenn ich das oben auskommentire) kommt Compilerfehler nicht deklariert
}
die klasse ver_ent sieht so aus:
Ver.h
C++:
class TEST_API ver_ent
{
public:
	// Funktionen
	void ver();
};
und Ver.cpp:
C++:
void TEST_API ver_ent::ver()
{
   Beep(200,200);
}
so das war alles Code den ich geben kann.

Nur Eigentlich hat es sich nu erledigt denn ich habe es ja mit ver_ent v; v.ver() hinbekommen
Dafür noch mal Danke
BZW Für die Geduld :D:D:D
MFG
PS:
Nicht nur an dir. In letzter Zeit stört mich allerdings die Arroganz mit der vor allem Anfänger hier erscheinen und ein Problem mit ihrem Code haben; Compilerfehler bekommen. Aber den Code (ausschnittsweise) hier reinzustellen um den es geht?! Nä, gibt es nich.
In C++ bin ich nicht wirklich anfänger aber was Kalssen in DLLS angeht ja ich habe nämlich gedacht das Klassen in DLLS anderst sind als in einem ausführbaren projekt

-close- (@ deepthroat du kannst noch was schreiben :D:D)
 
Zuletzt bearbeitet von einem Moderator:
Nochmal:
-Das ist ganz normal
-war nie anders
-und soll auch so sein.

Ich frage mich, wie du auf die Idee kommst, das der Compiler Gedanken lesen kann? :D
Wenn du sowas hast:
C++:
ver_ent a, b, c;
ver();
wen betrifft das dann? a, b oder c?
 
Zurück