![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Pues hombre, es que si pides un 69, te arriesgas a cualquier clase de respuesta.
// Saludos |
|
#2
|
|||
|
|||
|
... y digo parece porque hasta que lo pruebe un poco más no me lo creo.
La forma en la que he conseguido que VBasic "lea" y "escriba" correctamente los números es con PInteger. Así que
En todo caso gracias por vuestra ayuda y disculpad mi torpeza. Ejemplo final procedure SetUrl(direccion: PChar);stdcall;export; var strURL:string; begin //inicializacion de variable. (no se puede asignar directamente). strURL:=''; //asignación del valor nuevo strURL:=direccion; //creación de la variable con el nuevo valor. url:=PChar(strURL); end; function GetURL():PChar;stdcall;export; var url:string; begin url:=ThumbPrint; GetURL:=PChar(url); end; function GetLastCode():PInteger;stdcall;export; begin GetLastCode:=PInteger( lastCode); end; y en vbasic me creo un módulo para las dll. Public Declare Sub SetUrl Lib "C:\pruebas\delphi\vb\DLLAtidenet.dll" (ByVal direccion As String) Public Declare Function GetUrl Lib "C:\pruebas\delphi\vb\DLLAtidenet.dll" () As String Public Declare Function GetLastCode Lib "C:\pruebas\delphi\vb\DLLAtidenet.dll" () As Long y en el formulario llamo a las funciones. Dim direccion As String Dim code As Long direccion = Text1.Text SetUrl direccion code = GetLastCode Text2.Text = CStr(code) |
|
#3
|
|||
|
|||
|
Parte del problema es el modo de pasar los valores, como decía en el post anterior PChar, PInt, porque si no empezarán los problemas.
Pero también hay que tener mucho cuidado con como asignamos valores. En una función que pase parámetros por referencia, o en una función que devuelve algo, hay que fijarse en cómo se le asigna el valor. Por ejemplo Si tengo esta función procedure GetDocumentListResponseDoc( docIndex:PLongint ; var documentID:PLongint; var superState:PChar; var state: PChar; var format:PChar; var submissionDate:PChar; var documentNumber:PChar; var documentFunction:PChar; var docType:PChar; var companyName:PChar; var identityCount:PLongint);stdcall;export; No se puede cojer directamente y hacer algo así superState:=PChar('Nuevo'); en la segunda cadena se perderán los valores. Os pongo la función para que la tengáis pues a mí me ha dado un buen dolor de cabeza : procedure GetDocumentListResponseDoc( docIndex:PLongint ; var documentID:PLongint; var superState:PChar; var state: PChar; var format:PChar; var submissionDate:PChar; var documentNumber:PChar; var documentFunction:PChar; var docType:PChar; var companyName:PChar; var identityCount:PLongint);stdcall;export; var cad:string; //variable para almacenar el resultado a guardar. begin documentID:=plongint(12); cad:=''; cad:='OPEN'; superState:=PChar(cad); cad:=''; cad:='NEW'; state:=PChar(cad); cad:=''; cad:='XMLTLR'; format:=PChar(cad); cad:=''; cad:='2005-0101'; submissionDate:=PChar(cad); cad:=''; cad:='R99'; documentNumber:=PChar(cad); cad:=''; cad:='ORIGINAL'; documentFunction:=PChar(cad); // docType:=PChar('ORDER'); // companyName:=PChar('MyCompany'); identityCount:=PLongint(3); end; |
|
#4
|
||||
|
||||
|
Offtopic...
chete, prueba a poner tu código delphi entre los TAG's [ delphi ]..[ /delphi ]
(sin los espacios), verás como la visualización mejora. Revisa el uso de los TAG's.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#5
|
||||
|
||||
|
Cita:
pero claro!!! no me había dado cuenta del detalle. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| crear DLL para utilizar con ASP | altp | Varios | 0 | 29-11-2005 11:14:31 |
| Crear DLL | Dario Gustavo | Varios | 3 | 24-02-2005 13:46:00 |
| crear una dll | Rafa | Varios | 3 | 27-01-2004 19:09:38 |
| Crear Dll | Trigger | API de Windows | 8 | 15-12-2003 15:06:09 |
| crear ocx o DLL??? | torito | Varios | 3 | 23-06-2003 17:09:25 |
|