Vb.net, dll's e memória utilizada

BirdOfPrey

Power Member
Oi, eu tenho uma aplicação em vb.net que executa código que está num dll que tb fiz no VC++, para utilizar rotinas do openssl.
O problema é que as funções deste dll, durante a execução normal do programa tem de ser acedidas muito regularmente e o mais depressa possivel, o que faz com que veja a memória utilizada no task manager a crescer até a uns incriveis 200MB e mais se o deixar a correr!!!!
Tentei resolver o problema libertando o máximo de mem possivel com as funções do VC++, tipo free e os frees do openssl, mas o problema continua na mesma.
Depois de muito martelanço resolvi criar rotinas simples, só o vb a aceder uma rotina do dll que basicamente retorna o que lhe foi dado.
O código é o seguinte no dll
Código:
extern "C" __declspec(dllexport)char *Do_Nothing(char *data1){
return data1;
}

E no vb:
Código:
    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim hLib As Integer = LoadLibrary(dllPath)
    End Sub

    Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim data As String = "1234568716327138719827398217398273917129739127329173219873218979879217397981273"
        txt1.Text=Do_Nothing(data)
       data=Nothing
    End Sub

    Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
       FreeLibrary(hLib) 'release library
      hLib=Nothing
    End Sub

Cada vez que carrego no botão 2 vejo a memória a crescer uns 10 bytes, que claro ao fim de uns bons milhares de execuções vai dar os tais 200MB e mais de memória, que não é libertada mesmo quando faço o freeLibrary no botão 3!
Alguem faz ideia como posso resolver isto?
 
Back
Topo