Dll Funktionsaufruf aus Thread



  • @Mike-P Gibt es dazu eine offizielle Dokumentation oder irgendwas was du uns als Information über die Funktion geben kannst?



  • omopen – Open a Set of Values
    This call opens a list of up to 255 Values.

    Format:

    int omopen(<om_descriptor>,<open_id>)
    
    struct om_hdr_ptr *om_descriptor;
    int *open_id;
    

    Where:
    *om_descriptor A pointer to the header_node data structure
    *open_id A pointer to the location where the Manager returns the list
    number.

    mehr hab ich nicht dazu und ein kurzes Beispiel was ich so aber umgesetzt habe.



  • @Mike-P sagte in Dll Funktionsaufruf aus Thread:

    This call opens a list of up to 255 Values.

    Dann probiere doch mal 255 Werte zu übergeben. Der erste Wert initalisierst du wie üblich, die restlichen initalisierst du mit 0.

    Crasht dann dein Programm auch?


  • Mod

    Doku der header_node (struct om_hdr_ptr) Datenstruktur?



  • @Mike-P Da das mit dem Abschreiben ins Forum schon zwei mal problematisch war, vlt kopierst du uns das Beispiel auch mal hier rein



  • @Mike-P
    Es wäre gut wenn du hier die Definitionen der Strukturen om_hdr_ptr und open_var zeigen könntest. Bzw. wenn das aus rechtlichen Gründen nicht möglich ist, dann solltest du dir die selbst mal genau ansehen.
    Irgendwoher muss die Funktion ja wissen wie viel Parameter es sind. Und wenn es keinen Wert in om_hdr_ptr gibt mit dem man das angibt, dann gibt es zwei denkbare Möglichkeiten:

    1. Die Funktion nimmt immer das dokumentierte Maximum an
    2. Es gibt eine Art "Terminator" - also z.B. die Parameterliste endet mit einem Eintrag mit name = NULL oder name = ""

    Was auch noch komisch ist, ist dass die Strukturen nicht mit memset bzw. ={} vor-initialisiert werden. Selbst wenn das im Beispiel vom Hersteller so steht, muss es nicht richtig sein. Ich hab schon so extrem viel schlechten Beispielcode von Herstellern gesehen... also verlass dich bloss niemals darauf dass da alles richtig gemacht wird.


Anmelden zum Antworten