AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DLL im VS erstellen

Ein Thema von xaromz · begonnen am 8. Mär 2008 · letzter Beitrag vom 8. Mär 2008
Antwort Antwort
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#1

DLL im VS erstellen

  Alt 8. Mär 2008, 19:59
Hallo,

ich habe gerade ein kleines Problem. Ich erstelle eine DLL in VS2008, die ein paar Funktionen bereitstellt. Leider kann ich diese nicht über den Namen importieren, sondern nur über den Index. Ich vermute, ich muss im VS irgendetwas einstellen, die Namen werden nämlich reinkompiliert. Kann mir da jemand helfen?

Auszug von BINDUMP:
Code:
    ordinal hint RVA     name

          1    0 00001010 ?closeDictionary@@YAHXZ = ?closeDictionary@@YAHXZ (int __cdecl closeDictionary(void))
          2    1 000010D0 ?currentCodePage@@YAPADXZ = ?currentCodePage@@YAPADXZ(char * __cdecl currentCodePage(void))
          3    2 000010F0 ?hyphenLength@@YAHPAD@Z = ?hyphenLength@@YAHPAD@Z (int __cdecl hyphenLength(char *))
          4    3 000011A0 ?hyphenate@@YAHPAD0@Z = ?hyphenate@@YAHPAD0@Z (int __cdecl hyphenate(char *,char *))
          5    4 00001040 ?initializeDictionary@@YAHPAD@Z = ?initializeDictionary@@YAHPAD@Z (int __cdecl initializeDictionary(char *))
DLL:
Code:
__declspec(dllexport) int initializeDictionary(char* dictionary);
__declspec(dllexport) int closeDictionary();
__declspec(dllexport) char* currentCodePage();
__declspec(dllexport) int hyphenLength(char* word);
__declspec(dllexport) int hyphenate(char* word, char* hyphenated);
Import:
Delphi-Quellcode:
function closeDictionary: Integer; cdecl; external 'hyphenate.dllname 'closeDictionary';
function initializeDictionary(Dictionary: PChar): Integer; cdecl; external 'hyphenate.dllname 'initializeDictionary';
function currentCodePage: PChar; cdecl; external 'hyphenate.dllname 'currentCodePage';
function hyphenLength(Word: PChar): Integer; cdecl; external 'hyphenate.dllname 'hyphenLength';
function hyphenate(Word, Hyphenated: PChar): Integer; cdecl; external 'hyphenate.dllname 'hyphenate';
Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: DLL im VS erstellen

  Alt 8. Mär 2008, 20:17
Hallo,

hat sich erledigt. Einfach extern "C" vor den Export setzen.

Warum findet man eigentlich immer dann die Lösung, wenn man nach stundenlanger Suche im Netz postet ?

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz