Results 1 to 5 of 5

Thread: ActiveX Event

  1. #1

    Question ActiveX Event

    Hallo,

    langsam mache ich immer größere Fortschritte in VisualDataFlex, was mich sehr freut, aber wie soll es anders sein, bin ich wieder mal auf ein Problem gestoßen.

    Ich hab in mein Programm eine ActiveX-Komponente eingebunden. Das war noch kein Problem und auch das Ansprechen war kein Problem.
    Noch ein paar Details zu meiner Komponente. Ich kann mit dieser Komponente, einen COM-Port ansprechen und dort Daten auslesen. Sobald ich in VDF den Start-Befehl sende, startet die Maschine mit der Datenbestimmung und das dauert ca. 1 Minute. Während dieser Minute, sendet das Gerät immer wieder den aktuellen Status zurück.
    Bevor der Status nicht einen gewissen Wert erreicht hat, kann ich die Daten nicht einlesen.

    Jetzt schaffe ich es aber nicht den Status auszulesen. In C# gibt es ja einen Eventkatalog, wo ich mir einfach das richtige Event raussuche und dort meinen Code platziere.
    In VDF gibts auch Events wie OnClick, OnCreate usw., aber ich finde nirgends einen Katalog wie im Visual Studio von Microsoft. Jetzt stehe ich vor dem Problem, dass ich nicht weiß ob es einen Eventkatalog gibt, wo ich mir nur das richtige Event raussuchen muss, oder wenn es den nicht gibt, wie ich herausfinde, wie das Event heißt, welches ich benötige.

    Ich hoffe ich habe mein Problem einigermaßen verständlich erklärt. Danke für jede Antwort.

  2. #2
    Join Date
    Feb 2009
    Location
    Ebensfeld, Germany
    Posts
    62

    Default Re: ActiveX Event

    Das OCX müsste doch den Event generieren. Schau doch mal in das Pkg, das VDF von deinem OCX generiert hat. Dort solltest du die Events finden.

    Grüße Herbert

  3. #3

    Default Re: ActiveX Event

    Ok jetzt habe ich es soweit, dass ich die Daten empfangen kann, aber ich habe jetzt noch ein Problem. In der PKG-Datei gibt es das gesuchte Event

    Code:
     // method TraceEvent
        { MethodType=Event }
        Procedure OnComTraceEvent Short llEventNo String llEventText
        End_Procedure
    Wie bekomme ich am besten von meinem Programm aus die Werte die llEventNo bekommt. Die Procedure wird jedes mal aufgerufen, wenn das Gerät etwas sendet.
    Last edited by mac_hasi; 2-Jul-2012 at 09:42 AM.

  4. #4
    Join Date
    Feb 2009
    Location
    Ebensfeld, Germany
    Posts
    62

    Default Re: ActiveX Event

    Entweder stehen die Daten im String LLEventText, oder sie werden mit einem weiteren Event (OnComDataArrived oder ähnlich) übergeben. Hast Du keine Dokumentation für das OCX ?

    Herbert

  5. #5

    Default Re: ActiveX Event

    Nein Dokumentation gibt es leider keine, aber ich habe es nun geschafft.

    Ich habe die aus der ActiveX erstellte PKG-Datei ein bisschen umschreiben müssen und dort über das TraceEvent eine Procedure aufgerufen, mit der ich dann die Daten abarbeite.

    Vielen Dank für eure Hilfe.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •