Plugin   připomínka

VB.NET

Dobrý den, potřeboval bych navésti na správnou cestu, píši aplikaci která podporuje pluginy a mimo jiné spouští programy (též mnou napsané). Pluginy umožnují dosadit do aplikace další programy ktere chce uživatel spustit abych ji nemusel celou znovu přepisovat pokažé.Vycházím z příkladu pod článkem o Pluginech (programování kalkulačky v komentářích)

PlugInterf:

Public Interface IMathspust
 ReadOnly Property name() As String
 ReadOnly Property znacka() As String
 Function Operace(ByVal x As Single, ByRef spust As Double) As String
End Interface


a Plugin:(pouze ona operace)

    Public Function Operace(ByVal x As Single, ByRef spust As Double) As String Implements PlugInterf.IMathspust.Operace
        Dim app As String

        If String.Compare(spust, StringComparison.CurrentCultureIgnoreCase) Then
            If x = "internet" Then
                app = "F:\Program Files\Internet Explorer\iexplore.exe"
               
            End If
System.Diagnostics.Process.Start(app)
        End If
        Return ""
    End Function

spouštěcí program který pluginy načte by je měl načíst a pokut do textboxu napíšu třeba "internet" který obsahuje plugin tak spustí IE (pouze pro testování)

problém je v tom že se mi nepovedlo provázat tuto aplikaci a pluginy zkoušel sem vše možné nakonec jsem zkončil u prázdneho kodu vně tlačítka. Mužete mě prosím popostrčit dále?

ps:kod pro načteni pluginu je totožny s kodem v onom članku proto ho neuveřejnuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

tak jsem to vyřešil takto:

Převzaty kod pro tlačítko:

 operaceId = CType(sender, Button).Tag

        Dim spust As String
        Dim resultat As String = operacespust(operaceId).Operace(CSng(TextBox1.Text), spust)
        'zapíšeme do výpisu
        Textbox2.Text &= TextBox1.Text & vbCrLf
        TextBox2.Text &= operacespust(operaceId).znacka & vbCrLf

        If resultat = "" Then
            TextBox2.Text &= spust & vbCrLf
            TextBox1.Text = spust
            TextBox2.Text &= resultat
            TextBox1.Text = resultat
        End If
        TextBox2.Text &= "_____________" & vbCrLf & vbCrLf
    End Sub

PlugInterf i zasuvny modul jsem ponechal a ejhle, funguje to. Má to ale jednu vadu, nachází se tam Single takže mi to bere jen čísla ale já chci pracovat s textem a tak jsem jej nahradil za String a další zrada je na světě. Nejde totiž ani čislo ani písmeno zadat, vždy to vyhodí chybu. Nevíte někdo kde dělám chybu prosím?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jakou chybu to vyhodí?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

chyba: Metoda nebyla nalezena: System.String PlugInterf.IMathspust.Operace(Single,System.String ByRef).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Si ted připadam jako nej. blbec pod sluncem ale ja tu chybu prostě nemužu najít :( ..zkusil jsem prohleat snad všechno ale vše sedí a při kompilaci vše OK

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Na kterém řádku to vyhazuje to chybu?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

v tom je prave ten vtip, žadny řadek to nukaže, pouze někdy mi to vyznačí řádek

  If String.Compare(spust, StringComparison.CurrentCultureIgnoreCase)then

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback