Nachdem ich nun mein erstes Projekt in ProfiLab am Laufen und die vielen Vorzüge und teilweise genialen Ideen vielleicht halbwegs durchblickt habe bleibt ein ungelöstes Problem im Raum:
Wie kann man mehrere Bausteine der gleichen DLL mit unterschiedlichen Anzahlen für Ein- und Ausgänge entwickeln?
Die Idee mit CInitValues hat zwei Haken:
- sie wird zu spät aufgerufen; erst werden NumInputs und -Outputs aufgerufen und dann erst CInitValues
- sie wurde von mir in mehreren Beispielen getestet und hat (trotz teilweise auch leerem Funktionskörper) nur eine Reaktion: das Programm bricht ab (konkret: der evtl. vorhandene Inhalt des Funktionskörpers wird abgearbeitet und dann ist Feierabend - ohne jegliche Meldung von der Applikation oder vom System).
Im Forum wurden bereits einige Lösungsvorschläge angeregt und diskutiert; um das Problem des unzuverändernden Funktionsaufrufs von NumInputs zu umgehen könnte man (oder abacom) doch einen Funktionsaufruf vorausschicken, der lediglich die Bauteilnummer für die folgenden Num---Aufrufe übermittelt.
Können wir hoffen??? LG
DLL - CInitValues und Co.
Re: DLL - CInitValues und Co.
Für die fleissigen Programmierer...
wird mir dem nachste Update kommen.
(Und der Aufruf von CInitValues sollte dann auch funktionieren - Sorry, ein Bug.)
Code: Alles auswählen
Function NumInputsEx(PUser: PDLLParams): Byte;
Function NumOutputsEx(PUser: PDLLParams): Byte;
(Und der Aufruf von CInitValues sollte dann auch funktionieren - Sorry, ein Bug.)
ABACOM support
Re: DLL - CInitValues und Co.
das hört sich ja vielversprechend an!
Grüße
Mike
Grüße
Mike
Re: DLL - CInitValues und Co.
Klasse, da steht ja demnächst eine Menge Arbeit an.
Gruß BKGMX
Gruß BKGMX
Re: DLL - CInitValues und Co.
Jetzt habe ich mir so ein schönes Konzept erarbeitet um das Problem mit eigenen Mitteln zu umgehen ---
und das soll nun vollkommen überflüssig sein?
Danke, Mr. ABACOM
und das soll nun vollkommen überflüssig sein?
Danke, Mr. ABACOM
Re: DLL - CInitValues und Co.
Schönes einfaches Beispiel das alles zeigt.
Gute neue Funktion.
DANKE
Mike
Gute neue Funktion.
DANKE
Mike