Neue Funktionen NumInputsEx und NumOutputsEx

Antworten
BKGMX
Beiträge: 132
Registriert: Montag 7. Dezember 2009, 10:37
Wohnort: Berlin

Neue Funktionen NumInputsEx und NumOutputsEx

Beitrag von BKGMX » Freitag 12. Februar 2010, 11:45

Hallo liebe Mitstreiter,
beim Test der neuen Funktionen (NumInputsEx, NumOutputsEx) ist mir folgendes aufgefallen:
- die Funktionen werden im RUN-Modus permanent aufgerufen, ist das gewollt und sinnvoll ?
- beim Umschalten zwischen Schaltung und Frontplatte im Entwurfsmodus werden die Funktionen nicht aufgerufen, das schränkt die Funktionen unnötig ein
- beim löschen einer DLL aus der Schaltung fehlt mir der Aufruf ebenfalls, hier wäre eventuell eine function DeleteEx(PUser: PDLLParams): Byte; sehr hilfreich

Hintergrund ist die Darstellung der MGR.DLL auch im Entwurfsmodus. Ich will hier keine Kritik üben, vielleicht ist das ja auch erst eine Anregung für PL 5.0.

Gruß BKGMX

abacom
Site Admin
Beiträge: 3331
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Neue Funktionen NumInputsEx und NumOutputsEx

Beitrag von abacom » Freitag 12. Februar 2010, 12:17

"Die Funktionen werden im RUN-Modus permanent aufgerufen, ist das gewollt und sinnvoll ?"
- Nein, das muss ich mir anschauen. Darauf sollte man sich also nicht verlassen.

"beim Umschalten zwischen Schaltung und Frontplatte im Entwurfsmodus werden die Funktionen nicht aufgerufen, das schränkt die Funktionen unnötig ein"
- Die Funktionen machen nur beim Laden/Speichern, Kopieren/Einfügen und nach dem Konfigurationsdialog Sinn.

"beim löschen einer DLL aus der Schaltung fehlt mir der Aufruf ebenfalls, hier wäre eventuell eine function DeleteEx(PUser: PDLLParams): Byte; sehr hilfreich"
- Gelöscht ist gelöscht. Was soll da noch passieren?
ABACOM support

abacom
Site Admin
Beiträge: 3331
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Neue Funktionen NumInputsEx und NumOutputsEx

Beitrag von abacom » Freitag 12. Februar 2010, 12:55

Die Funktionen werden im RUN-Modus permanent aufgerufen, ist das gewollt und sinnvoll ?
So, jetzt bin ich schlauer. Die vermeintlichen Aufrufe kommen nicht aus ProfiLab, sondern aus der Counter-DLL selbst.
In dem Counter-Beispiel wird in der CALCULATE-Procedure für die Berechnung die Anzahl der Ausgänge benötigt:

Code: Alles auswählen

Procedure Calculate(PInput,POutput,PUser: PDLLParams); //called regularly from ProfiLab
var i: Integer;
    NumBits: Integer;
    MaxCount: Word;
begin
   NumBits:=NumOutputsEx(PUser); ///////// DLL-Interner Aufruf ///////////
   (...)
end;
Das kann man natürlich auf anders lösen. :oops:
ABACOM support

BKGMX
Beiträge: 132
Registriert: Montag 7. Dezember 2009, 10:37
Wohnort: Berlin

Re: Neue Funktionen NumInputsEx und NumOutputsEx

Beitrag von BKGMX » Freitag 12. Februar 2010, 14:33

Danke für die schnelle Antwort,
vielleicht habe ich mich zu kurz ausgedrückt.
zu Punkt 1:
ist also erledigt. NumBits:=NumOutputsEx..., das hatte ich inzwischen auch gesehen. Wer lesen kann, ist klar im Vorteil, also Sorry.
zu Punkt 2:
Beim Einfügen einer neuen DLL und anschließender Configuration ist alles ok. Der neue DLLIndex wird angezeigt.
Beim Kopieren/Einfügen bzw. Duplizieren wird NumOutputsEx in der neu eingefügten DLL nicht aufgerufen, der aktuelle DLLIndex bleibt bei 1 stehen, egal welche DLL ich dupliziere.
(Siehe Anhang, einfach mal die DLL duplizieren und die Ausgabe anschauen)
Ein neues graphisches Element kann ich dann also nicht auf der Frontplatte einfügen.
Kein DLLIndex -> welche Nummer soll das neue Bauteil bekommen?
zu Punkt 3:
Wird die DLL im Entwurfsmodus gelöscht, muß ja auch das zugehörige Bauteil auf der Frontplatte gelöscht werden. Keine Nachricht -> kein DLLIndex -> welches Bauteil soll ich dann löschen?
Dateianhänge
NumOutPutsExTest.zip
(194.36 KiB) 203-mal heruntergeladen

Mike D
Beiträge: 509
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Neue Funktionen NumInputsEx und NumOutputsEx

Beitrag von Mike D » Freitag 12. Februar 2010, 15:01

zu Punkt 2 und 3:
evtl. auch zur Verwaltung von Indizierten Einträgen in eine Ini-Datei.

Mike

BKGMX
Beiträge: 132
Registriert: Montag 7. Dezember 2009, 10:37
Wohnort: Berlin

Re: Neue Funktionen NumInputsEx und NumOutputsEx

Beitrag von BKGMX » Freitag 12. Februar 2010, 15:50

@Mike D
Ini-Datei ist schwierig, da ich ja DLLs im Entwurfsmodus löschen und hinzufügen kann und sich dadurch die Nummerierung der DLL ändert. Mit Namen versehen kann man sie ja nicht. Bei compilierten Dateien an Kunden sicher kein Problem, daß würde die Konfiguration erheblich erleichtern, da eventuell einfach nur die Ini-Datei getauscht werden muß.

Gruß BKGMX

Antworten

Zurück zu „DLL-Programmierung“