
Saludos!
An aside: you will need to master pchar type strings to send things to or from DLLs. You can receive things from DLLs into a normal Delphi string, as we have just done, but otherwise: it is pchar time. They aren't a big hassle, just a distraction to get past
Se tiene que usar Pchar en lugar de cualquier string(The pchar type is similar to the string type. You can't use string type variables for passing things to and from DLLs. If you do, you may get an "access violation" message when you run the program.)
Código: Seleccionar todo
Private Declare Function QRCodeLibVer Lib "C:\QRCodeLib.dll" () As String
MuestraMensaje ( "La version es : " + QRCodeLibVer);
Ok, porque de lo contrario, se genera mal el QR. De hecho con la misma funcion que tengo, si lo generas dos veces sale diferente una de la otra por eso de las 'strings'dado escribió:Para ser honesto, si vi algo de eso y por eso use "ShortString" (en Delphi este "ShortString" es de maximo 255 caracteres y normalmente nadie lo usa), tambien vi que deberia usar PChar, deja le muevo un poco por aca y te aviso si encuentro algo.
dado escribió:Ahora si, listo para Visual Basic.
A partir del trabajo publicado por smendoza me di a la tarea de modificar y ampliar la interface para Visual Basic
Ya esta bien probado y funcionan bien.
Por favor, VUELVAN a descargar las rutinas del post #1, lo actualice con las rutinas de VB
Nuevamente, gracias smendoza.....
Código: Seleccionar todo
<DllImport("QRCodeLib.dll", Entrypoint:="FullQRCode")> Private Shared Sub FullQRCode(ByVal autoConfigurate As Boolean, ByVal AutoFit As Boolean, ByVal backColor As System.Int32, ByVal barColor As System.Int32, ByVal Texto As String, ByVal correctionLevel As TQRCodeECLevel, ByVal encoding As TQRCodeEncoding, ByVal marginpixels As Integer, ByVal moduleWidth As Integer,ByVal Height As Integer, ByVal Width As Integer, ByVal FileName As String)
End Sub
Código: Seleccionar todo
FullQRCode(True, False, ColorTranslator.ToOle(Color.Yellow), ColorTranslator.ToOle(Color.Red), "hola mundo", TQRCodeECLevel.LEVEL_M, TQRCodeEncoding.ceAUTO, 5, 5, 150, 200, "AlGusto.bmp")
Sipdado escribió:@smendoza
Vaya, ahora si te la volaste, tengo entendido que esto que escribiste para VB.NET ya sirve de base para toda la plataforma .NET o no?