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 Temas de Hoy

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



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 04:32:25.


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