Zum Inhalt springen

Alten DLL-Export anpassen (war: Brauche Hilfe in C++)


nordi80

Empfohlene Beiträge

Hi!

Leider programmiere ich nicht mit C++, aber dennoch muss ich einen alten Source einer DLL etwas anpassen. Die Anpassungen sind erledigt, allerdings erhalte ich beim Kompilieren einige Fehler, da ich nun .net verwende und die dll ursprünglich mit einer uralten Version erstellt wurde. Folgender Code bereitet mir Probleme:

long __pascal __saveregs __export GetDHCHECK()

Hier wird mir z.B. gesagt, dass man nun für __pascal den Begriff WINAPI verwenden soll und für __export die Anweisung __declspec(dllexport).

Leider bekomme ich das trotzdem nicht hin und habe die Fehler C2144, C4229 und C4518.

Vielleicht weiß jemand wie die oben genannte Anwesung richtig zu schreiben ist, damit sie in .net keine Fehler verursacht.

Wäre echt super wenn mir da jemand helfen könnte.

Danke!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo nordi80!

1. Der Betreff ist wenig aussagekräftig. So ziemlich jeder, der hier ein Thema erstellt, sucht Hilfe. Bitte beim nächsten Mal drauf achten, dass der Betreff dein Problem besser beschreibt.

2.

long __pascal __saveregs __export GetDHCHECK()

Hier wird mir z.B. gesagt, dass man nun für __pascal den Begriff WINAPI verwenden soll und für __export die Anweisung __declspec(dllexport).

Hier wäre es gut gewesen, wenn du nicht den ursprünglichen (unangepassten) Code gezeigt hättest, sondern den, der die Fehler verursacht.

3.

Leider bekomme ich das trotzdem nicht hin und habe die Fehler C2144, C4229 und C4518.
Hier wird niemand Fehler an der Nummer erkennen können. Du hast die kompletten Fehlermeldungen vorliegen, warum sollen wir sie umständlich über die Nummer raussuchen? Also bitte immer die vollständige Fehlermeldung angeben.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hier der angepasste CODE:

long WINAPI __saveregs __declspec(dllexport) GetHDSerial()

Hier Fehler-/Warnmeldung:

error C2144: Syntaxfehler : 'int' sollte auf ';' folgen

warning C4229: Anachronismus verwendet : Modifizierer der Daten werden ignoriert

Werde mir nächstes Mal ein genaueres Thema überlegen, damit niemand einen Klick zu viel tätigen muss.

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja der Fehler tritt in genau dieser Zeile auf :(

In der Nähe steht auch nichts mit int.

Hier mal einen Auszug eines anderen Teils mit den gleichen Fehlermeldungen:

Das auskommentierte ist die alte Syntax und darunter meine bereits etwas an den neuen Stand angepasste Version.

//long __pascal __saveregs __export GetHDSerial()

long WINAPI __saveregs __declspec(dllexport) GetHDSerial()

{

unsigned long Serial;

GetVolumeInformation("c:\\", NULL, NULL, &Serial, NULL, NULL, NULL, NULL);

return Serial;

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Super, jetzt gehts zumindest ohne Fehler. Habe nur noch jetzt eine neue Warnung: warning C4518: '__declspec(dllexport ) ' : Unerwartete® Speicherklassen- oder Typspezifizierer; wird ignoriert.

Aber die Erstellung geht jetzt schonmal.

Kann man die DLL noch irgendwie verschlüsseln, oder ist das automatisch schon so bei C++? Ich kenne es so von Foxpro, da muss man nämlich einstellen ob die Kompilierung verschlüsselt oder unverschlüsselt stattfinden soll.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...