![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
PChar o cadenas
Sigo "navegando" y por lo que entiendo parece que sólo puedo usar este tipo de dato para enviar/recibir cadenas si quiero que otra aplicación , por ejemplo hecha en VBasic6, C++ pueda realizar las llamadas.
¿Es correcto? ¿Y para los enteros PInt?¿Para los decimales? Perdonad mi torpeza, pero ya digo hace siglos que no toco Delphi y me está costando un rato. |
|
#2
|
||||
|
||||
|
Cita:
¿cual tipo de dato? supongo que te referís a pchar. Si es así, pues si, solamente podes usarlo para cadenas.Cita:
Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#3
|
||||
|
||||
|
Hola,
En este mensaje se menciona un tutorial sobre "DLLs" en Delphi que me parece que puede al menos echarte una buena mano. ![]() |
|
#4
|
|||
|
|||
|
Gracias, pero sigo atascado con los enteros.
Reconozco mi torpeza pero aún no entiendo bien cómo va.
El problema creo que viene porque quiero llamar la dll tanto desde delphi como desde vbasic es algo tan sencillo como (delphi) procedure SetLastCode(newcode :LongInt);stdcall;export; begin code:=newcode; //donde code es una vbl. de la dll end; vbasic ... Dim code As Long If IsNumeric(Text2.Text) Then code = CLng(Text2.Text) SetLastCode code End If ... Aparentemente funciona (no da error) pero cuando recupero el valor me devuelve 1242776, cuando le dije 69. Y siempre me devuelve ese valor. No se si es que tiene que ser un LongInt, un integer (tb lo probé) o lo que. |
|
#5
|
||||
|
||||
|
Cita:
![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#6
|
||||
|
||||
|
Pues hombre, es que si pides un 69, te arriesgas a cualquier clase de respuesta.
// Saludos |
|
#7
|
|||
|
|||
|
... 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) |
|
#8
|
||||
|
||||
|
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 |
|