Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 20-06-2022
TOLO68 TOLO68 is offline
Miembro
 
Registrado: sep 2016
Posts: 14
Poder: 0
TOLO68 Va por buen camino
Hola a todos !!!

Neftali, muchas gracias, ya pude solucionarlo lo de Suma y Resta, con un conversor de VB6 a Delphi.
Tu ejemplo lo probe, y no me dejaba compilar, me daba errores al cargar la DLL.

La Dll anterior se llamaba add.dll, aqui es fb_dll.dll, es la misma, solo que añadi las funciones Mayusculas y Minusculas.

La DLL la he creado con freebasic, y este es el codigo de la funciones dentro la DLL, por si sirve de algo.
Las 4 funciones, van bien en Visual Basic 6, VB.Net 2010, SharpDevelop y ThinBasic ( en ThinBasic tengo que declarar las funciones como alias, pero es cosa del compilador, me lo dijo el autor)

Código SQL [-]
------------- Codigo DLL FreeBasic-------------

#include once "windows.bi"
#include once "win/ole2.bi"

EXTERN "windows-ms"

    FUNCTION Suma(BYVAL N1 AS Integer, BYVAL N2 AS Integer) AS Integer EXPORT
        RETURN  N1 + N2
    END FUNCTION
    
    FUNCTION Resta(BYVAL N1 AS Integer, BYVAL N2 AS Integer) AS Integer EXPORT
        RETURN N1 - N2
    END FUNCTION
    
    FUNCTION Mayusculas (BYVAL Texto as zString ptr) AS BSTR EXPORT
        DIM res AS BSTR, s AS STRING
        s = UCASE(*Texto)
        res = SysAllocStringByteLen(STRPTR(s), LEN(s))
        RETURN res
    END FUNCTION
    
    FUNCTION Minusculas (BYVAL Texto as zString ptr) AS BSTR EXPORT
        DIM res AS BSTR, s AS STRING
        s = LCASE(*Texto)
        res = SysAllocStringByteLen(STRPTR(s), LEN(s))
        RETURN res
    END FUNCTION
    
END EXTERN

------------- Fin Codigo DLL -------------


Este es el codigo sacado del conversor de VB6, a Delphi o Lazarus.
Para los numeros me va bien.
Pero vi que no me va bien para los string.....

Código Delphi [-]
-------------Codigo Delphi ---------------

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

  function Suma(N1: Smallint; N2: Smallint): Smallint; stdcall; external 'fb_dll.dll' name 'Suma';
  function Resta(N1: Smallint; N2: Smallint): Smallint; stdcall; external 'fb_dll.dll' name 'Resta';
  function Mayusculas(Texto: String): String; stdcall; external 'fb_dll.dll' name 'Mayusculas';

type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin

////// Label1.Caption := Mayusculas('mipalabra');  <---- Aqui da un error en Delphi 7.0 , o no devuelve nada en Lazarus.

Label1.Caption := IntToStr(Suma(10,22));  <---- Esta funcion va OK

end;
end.

-------------Fin Codigo Delphi ---------------

Realmente esta Dll es para usar en VB o Basic, pero si puedo usarla en mas lenguajes, como por ejemplo Delphi, pues mucho mejor.

Gracias a todos y que tengan un buen dia !!!!!!
Saludos !!!!!

Última edición por Neftali [Germán.Estévez] fecha: 20-06-2022 a las 16:24:58. Razón: Añadir TAG's al mensaje
Responder Con Cita
 



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
Llamar una consola de windows desde un form en builder c++? darkmir C++ Builder 7 20-08-2014 07:37:08
Como llamar a las funciones de la Api de Windows? antonio302050 C++ Builder 2 17-11-2010 00:35:39
¿Filas de 1 color y otras de otras En Synedit IDE Delphi? JXJ Varios 1 11-12-2008 00:01:28
Llamar al Visor de Imagenes de windows para abrir un fichero... JoysticK Varios 6 14-09-2008 23:16:08
Como enlazar Aplicaciones externas Micho OOP 2 26-11-2003 22:54:07


La franja horaria es GMT +2. Ahora son las 16:23:29.


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