Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Traduzione da Vb a Vb.NET

    Ragazzi ho un problema di traduzione di una classe dalla quale tiro fuori una dll

    questa dll è usata da un programmino, con la dll creata da vb funzia da vb.net no. e la cosa mi sembra assurda.

    VERSION 1.0 CLASS
    BEGIN
    MultiUse = -1 'True
    Persistable = 0 'NotPersistable
    DataBindingBehavior = 0 'vbNone
    DataSourceBehavior = 0 'vbNone
    MTSTransactionMode = 0 'NotAnMTSObject
    END
    Attribute VB_Name = "SerialCheck"
    Attribute VB_GlobalNameSpace = False
    Attribute VB_Creatable = True
    Attribute VB_PredeclaredId = False
    Attribute VB_Exposed = True



    Public Function GetDllVersion() As Integer
    GetDllVersion = 1
    End Function

    Public Function GetSerialOK(Wnd As Long, Serial As String, User As String, Company As String) As Integer
    If (Serial = "1234") Then
    GetSerialOK = 1
    Else
    GetSerialOK = 0
    End If
    End Function


    Questa è il codice vb, la classe è banale e la traduco senza problemi ma non funziona, quindi ho il dubbio sul codice in testa
    VERSION 1.0 CLASS
    BEGIN
    MultiUse = -1 'True
    Persistable = 0 'NotPersistable
    DataBindingBehavior = 0 'vbNone
    DataSourceBehavior = 0 'vbNone
    MTSTransactionMode = 0 'NotAnMTSObject
    END
    Attribute VB_Name = "SerialCheck"
    Attribute VB_GlobalNameSpace = False
    Attribute VB_Creatable = True
    Attribute VB_PredeclaredId = False
    Attribute VB_Exposed = True


    Non ho idea del significato e di come possa tradurlo in vb.net soprattutto gli attribute

    Grazie a chi mi risponderà

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ho capito molto ...

    Lascia perdere l'intestazione, in quanto non ha senso fare un parallelo tra i due linguaggi ... e fai vedere il codice VB6 e quello VB.NET e ne parliamo ...

    P.S. Hai postato la stessa domanda in Programmazione?

  3. #3
    Si mi sono chiarito anche io di più le idee

    e riformulo la domanda

    come si traduce il managed con in unmanaged code?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Beh ... adesso ho io le idee confuse ...

    La domanda che fai, in se' stessa, non ha senso.

    Riepilogando, tu hai del codice VB6 che devi trasformare in VB.NET; lo hai fatto e non funziona.

    Possiamo vedere sia il codice VB6 sia quello VB.NET che hai scritto?

  5. #5
    MA si che te lo mostro il codice sai che segreto di stato!
    Questo è quanto ho tradotto io in vb.net

    Class SerialCheck
    Public Sub New()
    End Sub

    Public Function GetDllVersion() As Integer
    Return 1
    End Function

    Public Function GetSerialOK(Wnd As Integer, Serial As String, User As String, Company As String) As Integer
    If (Serial = "1234") Then
    Return 1
    Else
    Return = 0
    End If
    End Function
    End Class

    E mi sembra corretto, il problema è che usando la dll generata da qui la carica coirrettamente poi chiamo una qualunque funzione e mi da ACCESSO NEGATO.
    Boh

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ah ... adesso inizio a comprendere ... la cosa che non hai *evidenziato* e' quel "programmino" di cui parli ... Quale e' questo "programmino" che chiama la DLL?

    Se ho capito bene, il tuo programmino, istanzia la DLL scritta con VB6 come ActiveX (in quanto il VB6 puo' generare solamente questo tipo di DLL).

    Mi sembra ovvio che, il tuo programmino NON puo' chiamare una DLL managed (in quanto scritta con .NET) come se fosse un ActiveX scritto in codice nativo.

    Quindi, per riassumere, NON puoi utilizzare il VB.NET

  7. #7
    Ok

    proverò qualche altra strada alternativa a VB:NET

    grazie mille per l'aiuto
    Ciao

  8. #8
    dimenticavo...
    il *programmino* è il qsetup

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non conosco qsetup ... ma se istanzia componenti COM (qual e' una DLL VB6) e' un po' dura farlo con VB.NET (anche se non impossibile ... ma non mi pare la strada migliore ... mi pare che con C++ sarebbe piu' logico e semplice ...)

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Originariamente inviato da Maurizio1980
    Si mi sono chiarito anche io di più le idee
    e riformulo la domanda
    come si traduce il managed con in unmanaged code?
    Non puoi saltare "di palo in frasca" in questo modo, aprendo più discussioni e costringendo chi ti risponde a vagare da un forum all'altro.

    Leggi il Regolamento per sapere come utilizzare in modo corretto il forum.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.