Announcement

Collapse
No announcement yet.

ActiveXForm im Web

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ActiveXForm im Web

    Ich möchte 2 ActiveXForms im Web veröffentlichen. Zwischen den Forms soll eine Relation bestehen. Zur Zeit sind die Forms unabhängig über eine ADO-Komponente an eine SQL-Server Datenbank gebunden.<br>
    Ist es möglich von einem ActiveX Parameter an die ASP-Seite zu übergeben und wieder einzulesen?

    Bin für jeden Tip dankbar.

    Christoph

  • #2
    Hallo,

    ja - das ist möglich, da eine eigene Session-Variable in der ASP als Transport-Medium verwendet werden kann. Das folgende Beispiel für den <b>IIS 5</b> (Windows 2000) demonstriert den Aufruf:

    <b> 1. ASP-Seite</b>
    Diese Seite deklariert die eigene Session-Variable "MeineVariable" und ruft dann über <b>Transfer</b> die zweite ASP-Seite auf. </b>
    <pre>
    < HTML>
    < BODY>
    < TITLE> Beispiel </TITLE>
    < CENTER>
    < H3> Beispiel 1</H3>
    < /CENTER>
    < HR>
    < %
    Response.Write("Dieser Text stammt von BSP1.ASP.<BR>")
    Response.Write("SessionId: " & Session.SessionId & "<BR>")
    Session("MeineVariable") = "Delphi 5"
    Server.Transfer("BSP2.ASP")
    % >

    < HR>
    < /BODY>
    < /HTML>
    </pre>
    <b>2. ASP-Seite wird von der 1. ASP-Seite aufgerufen</b>
    <pre>
    < HTML>
    < BODY>
    < TITLE> Beispiel </TITLE>
    < CENTER>
    < H3> Beispiel 2</H3>
    < /CENTER>
    < HR>
    < %
    Response.Write("Dieser Text stammt von BSP2.ASP<BR>")
    Response.Write("SessionId: " & Session.SessionId & "<BR>")
    Response.Write("MeineVariable: " & Session("MeineVariable"))
    % >

    < HR>
    < /BODY>
    < /HTML>
    </pre>
    Und der Wert für "MeineVariable" kann auch über den Aufruf einer Methode des ActiveX-Objekts (COM-Objekts) zugewiesen werden

    Comment


    • #3
      Hallo,<br>ein ActiveForm zu erstellen ist kinderleicht. Nur, wie bringe ich das Form in eine Webseite?<br>:-) Jens Schuman

      Comment


      • #4
        Hallo,

        der Delphi-Wizard baut eine HTML-Seite mit dem Aufruf des ActiveForms zusammen, oder ist etwas anderes gemeint?
        <pre>
        < html>

        < head>
        < meta http-equiv="Content-Type"
        content="text/html; charset=iso-8859-1">
        < meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
        < title>< /title>
        < /head>

        < body background="../../samples/images/backgrnd.gif">

        < h1>Testseite von Delphi-ActiveX </h1>

        < hr>

        < p align="center">< object
        classid="clsid:C9A54E43-BC04-11D1-95EA-00104B3F5870"
        codebase="http://192.168.10.1/Bin/ActiveNetCard.cab#version=1,0,2,5"
        align="center" border="0" width="350" height="250">< /object> </p>
        < /body>
        < /html>
        </pre&gt

        Comment


        • #5
          Hallo Andreas,<br>genau das meine ich. Der Hinweis auf den Delphi-Wizard hat mich weitergebracht. Mein ActiveForm wird jetzt innerhalb des IE angezeigt. Das Problem ist nur, nachträgliche Änderungen am ActiveForm werden nach der erstmaligen Distribution übers Web nicht mehr angezeigt. Ich habe das Gefühl, dass die Typbibliothek nicht aktualisiert wird. Kann das sein?. Der Button für Implementierung akutalisieren ist disabled (im Typbibliotheken Editor).<br>:-) Jens Schuman

          Comment


          • #6
            Hallo,

            nicht jede Delphi-Version hat an dieser Stelle die korrekte Versionsnummer eingebaut. Allesentscheidend ist die folgende Zeile, wobei die Versionsnummer innerhalb der doppelten Anführungszeichen stehen muss:
            <pre>
            codebase="http://192.168.10.1/Bin/ActiveNetCard.cab#version=1,0,2,5"
            </pre>
            Delphi unterscheidet zwischen der normalen Versionsnummer (die beim Compilieren hochgezählt wird) und der Versionsnummer im Distributions-Dialog. Wie wurde die Konfiguration für <i>VersionsInfo der Datei übernehmen</i> und <i>Versionsnr. autom. inkrementieren</i> im Dialog <i>Projekt | Optionen für Web-Distribution</i> gesetzt

            Comment


            • #7
              Hallo,
              Ich habe ein problem, das einen schritt weiter geht. ich möchte mit hilfe eines javascripts eine selber definierte eigenschaft des activex controls abfragen. die get methode wird aber nicht ausgeführt

              Comment


              • #8
                Hallo,

                ich habe das folgende Beispiel "am Lager", bei dem innerhalb der HTML-Seite auf die Interface-Methode (Read/Write-Property) <i>OSParameter</i> zugegriffen wird:

                Aus der HTML-Seite heraus kann auf die eigenen Interface-Methoden des ActiveForm zugegriffen werden, wobei dies auch für die Interface-Methoden des Events-Interfaces gilt. Das folgende Beispielprojekt demonstriert, wie <br>
                a) aus der HTML-Datei heraus der Text der TEdit-Instanz im ActiveForm gesetzt wird. <br>
                b) in der HTML-Datei auf das Anklicken der TButton-Instanz im ActiveForm reagiert wird, und <br>
                c) in der HTML-Datei der neue Inhalt der TEdit-Instanz im ActiveForm ausgelesen wird:
                <pre>
                < HTML>
                < H1> Delphi 5 ActiveX Test Page < /H1>< /pre>
                < p>
                You should see your Delphi 5 forms or controls embedded in the form below.
                < HR>< center>< P>
                < OBJECT ID="OSActiveForm"
                classid="clsid:5D5C9EC6-DB6E-44D1-86A5-E9DE4823C5FC"
                codebase="http://localhost/OssiSoft/Test/ActiveFormDemo.cab#version=1,0,1,0"
                width=314
                height=138
                align=center
                hspace=0
                vspace=0
                > < PARAM name="OSParameter" value="Der Text aus der HTML">
                < /OBJECT>
                < SCRIPT LANGUAGE="JavaScript" FOR="OSActiveForm" EVENT="OnOSButtonClick">
                alert(document.all.OSActiveForm.OSParameter);
                < /SCRIPT>
                < /HTML>
                </pre&gt

                Comment

                Working...
                X