Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Visual Basic 6.0 / VBA » Dll mit Vc++ 6.0 erstellt. Aufruf unter Vb Wie ??

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
26.08.2003, 18:43 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat:
Uwe postete
Hallo,
So penibel ist der VC Compiler nicht.Hab zwar nicht die DllMain nachgebaut,


Bei Windows kann man nie wissen (nicht das wieder eine ProLinux-Diskussion aufkommt, bei Linux kann man das auch nicht mit Sicherheit sagen )

@Micha: Probier mal komplette Neuerstellung der Dll (Rebuild). Vielleicht liegt es daran! (Oder hast du irgendwo ein ; zuwenig/zuviel?)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
26.08.2003, 18:51 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Flo,
OT aber...
Es geht nicht um Pro oder Kontra, . Ich muß mit dem Zeugs arbeiten, das ist schon besch... genug.
EOT
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
26.08.2003, 19:01 Uhr
Pablo
Supertux
(Operator)


Das ist ja komisch, dass zwei VC++ Compieler sich unterschiedlich verhalten.

@Micha: hast du vielleicht nur Microsoft Visual C++ 6.0 Autoren Edition? Das Ding kann viel, aber es gibt Sachen, die nicht der Compiler unterstützt. Vielleicht ist das eins davon.

Vielleicht hilft dir, wenn du VC++ komplett neu installierst.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
26.08.2003, 19:19 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


@Pablo, daran dürfte es nicht liegen, ich konnte damals auch "extern C"-Deklarationen tätigen wie ich noch VC++ AV hatte (AV könnte auch A***-Version heißen )
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
27.08.2003, 09:35 Uhr
~Micha
Gast


Danke nochmals für die Tipps,

leider klappt es nicht.
Mein einziger Verdacht sind die Einstellungen in VC++ 6.0 die ich habe.
Das Problem ist ich weiss nicht wenn, welche Einstellungen ich ändern sollte.

Ich werde heute nachmittag das ganze mit einem anderen Compiler versuchen.

Ich poste dann wie es gelaufen ist.
Micha.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
27.08.2003, 11:12 Uhr
~Micha
Gast


Hallo nochmals,

ich habe folgendes im VC++6.0 ausprobiert und es funktioniert ich bräuchte aber noch eure Zustimmung ob es so in Ordnung ist.


C++:
#ifdef __cplusplus
  extern "C" {
#endif
__declspec(dllexport) char  * __stdcall get_version(void);
#ifdef __cplusplus
  }
#endif



Warum bekomme ich jetzt die vorherige Fehlermeldung nicht ?
"error C2059: Syntaxfehler : 'string'"
Wie kann ich überprüfen ob ich mein Ziel erreicht habe ?
Danke.


Bearbeitung:
code-tags durch cpp-tags ersetzt

Dieser Post wurde am 27.08.2003 um 14:30 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
27.08.2003, 11:49 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


da __cplusplus wahrscheinlich nicht definiert ist
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
27.08.2003, 14:30 Uhr
0xdeadbeef
Gott
(Operator)


__cplusplus wird vom Compiler definiert, wenn er den Code als C++ kompiliert. Und auch nur dann ist das extern "C" nötig, weil C++ durch das objektorientierte Design andere Symboile exportieren muss (Stichwort name mangling). Als C entworfen wurde, gab es noch kein C++ und damit auch keine Notwendigkeit, ein extern "C" zu haben, dementsprechend kennt der Compiler es dann nicht. So, wie du das machst, ist das schon richtig.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
27.08.2003, 17:28 Uhr
~Micha
Gast


Mein anderer Test mit einem C-Compiler (Ansi-C)

Mit einem reinem C-Compiler funktioniert es auch nicht.
Nur wenn ich "C" entferne kann ich Fehlerfrei compilieren.

Micha.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
27.08.2003, 19:10 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat:
0xdeadbeef postete
__cplusplus wird vom Compiler definiert, wenn er den Code als C++ kompiliert. Und auch nur dann ist das extern "C" nötig, weil C++ durch das objektorientierte Design andere Symboile exportieren muss (Stichwort name mangling). Als C entworfen wurde, gab es noch kein C++ und damit auch keine Notwendigkeit, ein extern "C" zu haben, dementsprechend kennt der Compiler es dann nicht. So, wie du das machst, ist das schon richtig.

Wer weiß was VC da macht, vielleicht hat micha ja ausversehen bei seinem Projekt bei der datei C statt C++ eingestellt
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ Visual Basic 6.0 / VBA ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: