Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-12-2004
arantzal arantzal is offline
Miembro
 
Registrado: oct 2004
Posts: 80
Poder: 20
arantzal Va por buen camino
external procedure

Buenas,

sabe alguien si hay algún problema a la hora de pasar strings como parámetros de un procedimiento externo?.

Tengo lo siguiente:

procedure GestionarUsuarios(IdUsuario: integer; ColorFondo: TColor; Cadena1, Cadena2: string; ModoAdmin: Boolean); external 'Gestionar.dll' ;

.Al llamarle le paso 2 strings, pero me los corta y solo se queda con el primer char.

Alguna idea?.....
Saluditttooossss.
Responder Con Cita
  #2  
Antiguo 15-12-2004
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Hola arantzal!

Efectivamente existe un problema cuando pasas algún string como parámetro a un procedimiento externo.

Lo que sucede es que Delphi maneja la memoria compartida a través de una biblioteca llamada BORLNDMM.DLL, por esta razón cuando pasas Strings como parámetros debes incluir la unidad ShareMem y además debe ser la primera unidad en la cláusula Uses de cualquier proyecto o unidad que haga uso del procedimiento externo.

Si prefieres evitar el uso de la librería BORLNDMM.DLL, entonces debes envíar como parámetros PChar o ShortString.


Espero que te sea útil

Hasta pronto.
Responder Con Cita
  #3  
Antiguo 15-12-2004
arantzal arantzal is offline
Miembro
 
Registrado: oct 2004
Posts: 80
Poder: 20
arantzal Va por buen camino
Muxas gracias Hector,
pero he probado con el tipo ShortString y me da la excepción: Can not marshall parameter #4, que es justo el parámetro de ese tipo.
Alguna idea de porqué me da eso?.

Gracias de nuevo.
Saludos.
Responder Con Cita
  #4  
Antiguo 16-12-2004
arantzal arantzal is offline
Miembro
 
Registrado: oct 2004
Posts: 80
Poder: 20
arantzal Va por buen camino
Buenas,

ya lo he conseguido cambiando el tipo string por variant.

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:41:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi