AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Meine erste Butterfahrt - Eine dll mit dem BCB erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Meine erste Butterfahrt - Eine dll mit dem BCB erstellen

Ein Thema von messie · begonnen am 8. Feb 2010 · letzter Beitrag vom 10. Mär 2010
Antwort Antwort
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#1

Re: Meine erste Butterfahrt - Eine dll mit dem BCB erstellen

  Alt 11. Feb 2010, 15:26
So,

das waren ja Krämpfe, aber mit dem Builder geht es jetzt. Lustig ist, dass sich das dll-Projekt nach dem Erstellen der dll selbst zerstört
Ich habe jetzt zum Probieren eine dll gebaut:
Code:
extern "C" __declspec(dllexport) double Multi(double Zahl1, double Zahl2);

double Multi(double Zahl1, double Zahl2)
{
  double result;
  result = Zahl1 * Zahl2;
  return result;
}
Wozu das alles entscheidende extern "C" reinmuss, ist mir nicht ganz klar geworden.

Nun wollte ich die Funktion mal in einem Delphi-Projekt testen. Dazu erstmal statisch geladen:
Delphi-Quellcode:
var
  Form1: TForm1;
  function Multi(Zahl1 : double;Zahl2:double) : double; external 'Project9.DLL';


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  test : double;
begin
  test := Multi(9,6);
  ShowMessage(FloatToStr(test));
end;
Da wird der Prozedureinsprungpunkt "Multi" nicht gefunden. Was habe ich da falsch gemacht?
Beim Builder kann man das statische Laden durch Einbinden der lib in das Projekt erledigen. Gibt es etwas Vergleichbares in Delphi?

Danke, Messie

Edit: Ich habe mich gerade mal kurz in den Dependency Walker eingelesen und damit herausgefunden, wie die Prozedur tatsächlich heißt ("_Multi").
Ist denn das eine Festlegung, dass der Unterstrich immer da ist, wenn ich extern "C" benutze?
  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 04:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz