Diskussion:Programmierkurs: Delphi: DLL-Programmierung

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
Aus Wikibooks

Wofür steht index?

Jeder exportierten Funktion einer DLL wird ein numerischer Index zugewiesen. Wenn man in der exports-Klausel den Index weglässt, wird automatisch einer vergeben. Der Index sollte heutzutage nicht mehr explizit angegeben werden.
PS: Bitte signiere deine Beiträge mit zwei Minus-Zeichen und vier Tilden (--~~~~).
--Dannys9 12:49, 1. Jun. 2009 (CEST)[Beantworten]

Wie übergebe ich am einfachsten Informationen aus einer Klassenstruktur[Bearbeiten]

Es wäre so schön einfach, wenn ich einer DLL eine Klassenstruktur übergeben könnte. z.B. so etwas wie

  clMessprotokoll
     + clPrüfplan
     |   + clMessgerät
     |   |   + ComSettings
     |   |   + SetSpannungsart
     |   |   + SetMessbereich
     |   |   + GetSpannung
     |   |   + GetLeistung
     |   |   + GetCosPhi
     |   |   + GetStrom
     |   + Spannungsart (Drehstrom, Einphasen, DC, ...)
     |   + Messbereich
     + Spannung
     + Leistung
     + CosPhi
     + Strom1
     + Strom2
     + Strom3

Im den Aufbau einfach zu halten, habe ich die Klassenstruktur stark abgespeckt. In der Raelität wäre es natürlich eine komplette Klasse mit Private/Public-Bereich, Properties, Funktionen, ...

Könnte ich nun die komplette Klassen übergeben, müsste ich z.B. einer DLL MessLeistung.dll nicht zuerst die Randbedingungen aus dem Prüfplan übergeben und danach die Messdaten abfragen. Mit Übergabe der Klasse hätte die DLL alle benötigten Informationen. Über ein Status-Flag könnte ich auch noch steuern, von wann bis wann MessLeistung.dll messen soll In diesem Beispiel sind es nur wenige Inforamtionen die als Einzelwerte übergeben oder zurückgegeben werden müssten. In anderen Fällen könnten das aber viel mehr sein, und da ist es aufwändig, die Klasse in Einzelwerte oder einen Record zu zerlegen. Wenn jemand eine elegante Lösung hat, um solche Informationen möglichts einfach an eine DLL zu übergeben/zurückzugeben, wäre es toll er könnte dies anhand eines kleinen Beispiels aufzeigen. --Norwegen60 10:27, 19. Nov. 2017 (CET)Gerd[Beantworten]