Leer dll c++ nativo con interfaz F#
Publicado por Meta (12 intervenciones) el 18/06/2020 12:06:49
Buenas gente:
Tengo un programa hecho en C# y me lee una dll externo. Aquí dejo un ejemplo en C#.
Lo he intentado hacer lo mismo con el leguaje F# y no me funciona.
¿Alguna idea?
Que tengan buena salud.
Tengo un programa hecho en C# y me lee una dll externo. Aquí dejo un ejemplo en C#.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System;
using System.Runtime.InteropServices;
namespace Consola_cs
{
class Program
{
static void Main(string[] args)
{
// Título de la ventana.
Console.Title = "Consola C# 2019";
// Tamaño de la ventana.
Console.SetWindowSize(40, 5);
// Color de las letras.
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(Marshal.PtrToStringAuto(SUPER_DLL.Mensaje()));
Console.WriteLine(SUPER_DLL.Suma(1764, -764).ToString());
// Pulse cualquier tecla para salir.
Console.ReadKey();
}
internal class SUPER_DLL
{
[DllImport("Super_dll.dll")]
extern static public int Suma(int a, int b);
[DllImport("Super_dll.dll")]
extern static public IntPtr Mensaje();
}
}
}
Lo he intentado hacer lo mismo con el leguaje F# y no me funciona.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
open System
open System.Runtime.InteropServices
module Program = let [<EntryPoint>] main _ = 0
module InteropWithNative = let
[DllImport("Super_dll.dll")]
extern static public int Suma(int a, int b)
[DllImport("Super_dll.dll")]
extern static public IntPtr Mensaje()
// Título de la ventana.
Console.Title <- "Consola F# 2019";
// Tamaño de la ventana.
Console.SetWindowSize(40, 5)
// Color de las letras.
Console.ForegroundColor <- ConsoleColor.Blue
Console.WriteLine(Marshal.PtrToStringAuto(SUPER_DLL.Mensaje()))
Console.WriteLine(SUPER_DLL.Suma(1764, -764).ToString())
// Pulse cualquier tecla para salir.
Console.ReadKey()
¿Alguna idea?
Que tengan buena salud.
Valora esta pregunta


0