AGB  ·  Datenschutz  ·  Impressum  







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

Externen Programmcode ausführen?

Ein Thema von Master_RC · begonnen am 13. Feb 2005 · letzter Beitrag vom 18. Feb 2005
Antwort Antwort
Benutzerbild von mael
mael

Registriert seit: 13. Jan 2005
391 Beiträge
 
Delphi XE3 Professional
 
#1

Re: Externen Programmcode ausführen?

  Alt 13. Feb 2005, 14:55
Zitat von Master_RC:
kann mir evtl. noch jemand erklären, wie DLLs funktionieren?
ich hab mir schon etliche tutos runtergeladen, kapiers abba einfach nicht... das geht doch gar net!
Also, eine DLL ist eine Sammlung von Funtionen/Prozeduren die man susätzlich zur EXE laden kann.
Entweder direkt beim Programmstart oder zur Laufzeit.
Z.B. ist es möglich per DLLs Plugins zu realisieren indem jede DLL die gleichen Funktionen bereitstellt (=exportiert).

Eine sehr einfache DLL für einen Musikplayer könnte so aussehen:

Delphi-Quellcode:
library WAVPlayer;

uses
  SysUtils, MMSystem;

{$R *.res}


function Play(FileName: PChar): Boolean; stdcall;
begin
  PlaySound(FileName, 0, SND_FILENAME);
end;


exports
  Play;

end.
Für MP3 müßte man die Implementierung der Play-Funktion natürlich entsprechend ändern.
Der Sinn hier DLLs zu verwenden ist, daß man das fertig Programm nachträglich erweitern kann.
Dazu muß aber die Schnittstelle gleich bleiben, also Play-Funktion muß immer vorhanden sein und die Parameter müssen gleich bleiben.

stdcall ist häufig sinnvoll da praktisch jede Programmiersprache diese Aufrufart unterstüzt. Sie ist auch die Standardaufrufsmethode für die Windows-API.

DLLs funktionieren aber nicht gut wenn man Objekte "exportieren" möchte. Innerhalb einer DLL geht das aber falls z.B. wie bei Formen man auf das Application-Objekt zugreifen muß ist dies sehr schwierig. Deswegen gibt es Packages (BPLs). Die kümmern sich um die Verwaltung die bei Objekten anfällt sind aber dafür aber nur mit Delphi nutzbar und auch von der Delphi-Version abhängig.

Hoffe das hilft etwas, Maël.
  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 17:31 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