Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-11-2018
Avatar de cesarsoftware
cesarsoftware cesarsoftware is offline
Miembro
 
Registrado: nov 2006
Posts: 241
Poder: 18
cesarsoftware Va por buen camino
Holaaa, se puede pasar?

Siguiendo con la conversión y vuestra estimable ayuda....para convertir una definición de funcion

Basic
Código:
Public Declare Function ReadVar Lib "NETCOM" (ByVal hPort As Integer, ByVal variable As String, ByVal value As String) As Integer
C
Código PHP:
int __stdcall ReadVar(HPORT_T hPortcharvariablecharvalue); 
Delphi?
Código Delphi [-]
function ReadVar(hPort: integer; variable: string; var value: string): integer; cdecl; stdcall; external 'Netcom.dll';

No me da error, pero no me llega la variable, supongo que hay lio entre CHAR* y STRING

Una ayudita please

PD: hace tiempo que quiero "regalar" a la comunidad una utilidad (Delphi) para hacer PING a multiples destinos con thread, vamos, para hacer "un analizador de red", pero solose "pegar" código, si me echais otra mano os la paso, va muy bien y la uso mucho.


Gracias de antemano
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo.

Última edición por ecfisa fecha: 21-11-2018 a las 17:12:19. Razón: Agregar etiquetas al código
Responder Con Cita
  #2  
Antiguo 21-11-2018
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 916
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
A ver intenta de esta manera...
Código Delphi [-]
function ReadVar(hPort: integer; variable: PAnsichar; value:PAnsichar): integer; stdcall; external 'Netcom.dll';
Código Delphi [-]
var
   lpVariable, lpValor:PAnsiChar;
   hPort, retval:Integer;
begin
     lpVariable   :='La_Variable'';
     lpValor:='';

     retval:=ReadVar(hPort, lpVariable, lpValor);

Saludos cordiales
Responder Con Cita
  #3  
Antiguo 21-11-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Un buen equivalente en Delphi a char * de C, es PChar.

Por favor no te olvides de usar etiquetas cuando incluyas código en tus mensajes:


(ya las agregué en tus mensajes)

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 22-11-2018
Avatar de cesarsoftware
cesarsoftware cesarsoftware is offline
Miembro
 
Registrado: nov 2006
Posts: 241
Poder: 18
cesarsoftware Va por buen camino
Gracias
Ya he probado, sigo igual pero quizá sea otro problema de la librería, voy a investigar
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo.
Responder Con Cita
  #5  
Antiguo 26-11-2018
Avatar de cesarsoftware
cesarsoftware cesarsoftware is offline
Miembro
 
Registrado: nov 2006
Posts: 241
Poder: 18
cesarsoftware Va por buen camino
Buenas foreros
Tema resuelto
para que la librería me devuelva el valor, ella lo define internamente como
Código:
 "char value[30];"
asi que en la definición de la función lo he pasado a un array dinamico de ansichar
Código Delphi [-]
function ReadVar(hPort: integer; variable: ansistring; var value: array of ansichar): DNCRESULT_E; cdecl; stdcall; external 'netcom.dll';

y para usarlo
Código Delphi [-]
var
  resultado: DNCRESULT_E;
  value: array[0..31] of ansichar;
begin
      resultado := ReadVar(hPort, variable[i], value);
      if resultado = DNCRESULT_E.DNC_SUCCESS then
         Lx.Caption := String(value);

end;

Gracias por vuestra colaboracion
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿como hacer tunneling con delphi tipo zebedee? JXJ Varios 5 08-05-2012 18:44:02
¿Como se declara correctamente un constructor? flystar OOP 4 20-04-2010 20:12:37
¡El Profesor Fungus me declara la guerra! Ñuño Martínez La Taberna 11 09-07-2008 19:37:29
como puedo cambiar la fuente de Delphi - tipo de letra micky mouse Varios 6 07-03-2008 02:26:12
Microsoft declara que Vista tiene problemas muy serios Casimiro Notevi Noticias 16 30-01-2007 09:44:12


La franja horaria es GMT +2. Ahora son las 17:30:18.


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