none
Einbinden einer Externen EXE RRS feed

  • Frage

  • Hallo Experten,

    oder vielleicht genügt es auch wenn man weniger Neuling ist als ich.

    Durch Kontakt mit einem Programmhersteller ist es mir gelungen eine Schnittstelle zu seinem Programm bekommen die ich gerne in VB 2010 einbinden möchte. Leider kenne ich mich mit VB wenig und mit solche einem speziellen Fall überhaupt nicht aus. Ich bin inzwischen so weit gekommen, dass mir die Schnittstelle mit ihren Funktionen im Objektkatalog angezeigt wird. Siehe Bild:

    Außerdem habe ich die "Imports Planer" eingebunden aber jetzt weiß ich nicht wie ich auf die Sub's bzw. Func's zugreifen kann.

    Wäre schön wenn mir jemand einen Rat geben könnte.

    Donnerstag, 2. August 2012 11:32

Antworten

  • Hi,

    was ist "Eisenbahnplaner"? Damit das so funktioniert, müsste das eine von dir deklarierte und instanzierte Variable eines Typs, der IEBPControl implementiert, sein.

    Also bspw.:

    Dim Eisenbahnplaner As New EBPControl()
        Eisenbahnplaner.SetScaling( "Garage", 1 )


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Donnerstag, 2. August 2012 13:51
    Moderator

Alle Antworten

  • Hallo,

    Ich würde mal sagen: "Einfach benutzen". Das soll heißen du rufst einfach Namespace.Klasse.Methode auf. Aus deinem Screenshot kann ich erkennen das sich die Klasse Eisenbahnplaner nennt. Versuche mal Eisenbahnplaner.SetScaling("Text", 12).  Wenn VS dir das untermal Zeige auf das kleine Viereck (ist glaube Blau und steht bei VB.NET unter dem letzten Zeichen),  klicke auf den entstehenden Pfeil und importiere den entsprechend vorgeschlagenen Namespace. Dann solltest du die entsprechende Methode benutzen können.

    Das diente jetzt nur als Beispiel mit .SetScaling(string, simple). Du kannst es natürlich mit jeder Methode/Klasse testen die du in den Listen findest.


    Koopakiller - http://koopakiller.ko.ohost.de/

    Donnerstag, 2. August 2012 12:18
    Moderator
  • Hallo Koopakiller,

    hat leider nicht funktioniert. Wenn ich so vorgehe wie von dir empfohlen sieht mein Screen so aus.

    und der Pfeil ist nicht zu sehen. Wenn ich dann (so wie auf einer anderen Seite im Internet empfohlen) per Doppelklick auf "My Projekt" unter Verweise meine meine Importierten Namespaces ansehe ist der Haken bei Eisenbahnplaner gesetzt. Was kann ich tun?

    Herzlichen Dank schon mal im Voraus für's antworten.

    Donnerstag, 2. August 2012 13:20
  • Hi,

    was ist "Eisenbahnplaner"? Damit das so funktioniert, müsste das eine von dir deklarierte und instanzierte Variable eines Typs, der IEBPControl implementiert, sein.

    Also bspw.:

    Dim Eisenbahnplaner As New EBPControl()
        Eisenbahnplaner.SetScaling( "Garage", 1 )


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Donnerstag, 2. August 2012 13:51
    Moderator
  • Leider auch nicht. Jetzt bekomme ich als Fehlermeldung:

    Ich hoffe, euch gehen die Ideen nicht aus. Wenn ich durch irgend welche Antworten zur Klärung beitragen kann sagt es mit bitte.

    Donnerstag, 2. August 2012 16:16
  • Hallo Franz,

    bitte lies die Antworten auch mal genau. Dein Code entspricht an 2 wichtigen Stellen nicht dem, was ich geschrieben hatte.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    • Als Antwort vorgeschlagen Palin Donnerstag, 2. August 2012 19:32
    • Nicht als Antwort vorgeschlagen Palin Donnerstag, 2. August 2012 19:32
    Donnerstag, 2. August 2012 16:43
    Moderator
  • Hallo Stefan,

    zwei Ausreden habe ich ;-) Zum einen beschäftige ich mich erst seit kurzem mit VB (aber ich denke, das hast du bereits vermutet :-))) und zweitens wurde mir "IEBPControl" vorgeschlagen das ich übernahm worauf er mir dann das "New" ankreidete.

    Aber jetzt funktioniert es. Ich danke dir herzlich für deine Mühe

    Gruß Franz

    Donnerstag, 2. August 2012 17:04
  • Hi Franz,

    I steht im allgemeinen für Interface, eine Klasse kann ein Interface Implementieren.

    Da bietet anderen Klassen die Möglichkeit nur die Implementierung des Interfaces zu kennen und nicht die Umsetzung.

    Ich denke du brauchst aber eine Instanz, also ein erzeugtes Objekt einer Konkreten Klasse und das ist wie Stafan Richtig geschrieben hat EBPControl.

    Da wird es dann auch mit dem New Klappen ;)

    Das ist jett aber auch kein Fehler, den nicht schon andere gemacht hätten.

    Wenn du noch wenig Erfahrung mit der Programmierung hast, bitet es sich an Fachlieteratur zu kaufen.

    Gebrauchte Bücher zu dem Thema (Frameworke 2.0) kann man zB für weniger als 5€ (mit Vrersandkosten) im Internet ersteigen.

    MFG

    Björn

     

    Donnerstag, 2. August 2012 19:42
  • Nochmals herzlichen Dank an alle Helfer.

    @Björn Buch und Video von Galileo hab ich mir schon besorgt und einige Videos habe ich mir schon angesehen und, zum Teil, sogar verstanden ;-) Vielleicht ganz nett zu wissen, dass ich bisher mit AutoIt gearbeitet habe aber auf Grund von fehlender Geschwindigkeit den Wechsel zu VB in Angriff genommen habe. Bei dieser Anfrage ging es mir zuerst einmal darum heraus zu finden ob das Ganze mit VB zu machen ist und ob ich höhere Geschwindigkeiten erziele. Deshalb dieser "Schnellschuss" der, dank eurer Hilfe, mir gezeigt hat, dass ich auf dem richtigen Weg bin.

    So, und jetz kann ich diesen Thread beruhigt schließen.

    Samstag, 4. August 2012 09:43