Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-12-2006
albertoP albertoP is offline
No confirmado
 
Registrado: ene 2006
Posts: 35
Poder: 0
albertoP Va por buen camino
dll + mostrar formulario

Hola amigos he estado haciendo pruebas con dll y me he encontrado con un problema:

Tengo una dll que intenta mostrar un formulario que esta dentro de ella, al llamarlo desde la aplicacion me da una error de Violacion de acceso.


El codigo de la dll es:

uses
SysUtils,
Classes,
Windows,
Messages,Dialogs,
Unit1 in 'Unit1.pas' {Form1};

function msg:Boolean;stdcall;
begin

try
form1.Show;
result:=true;
except
showMessage('Error al intantar mostrar el mensaje');
result:=true;
end;


end;

exports msg;

end.

El codigo de la APP es:

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
function msg:Boolean; external 'mensaje.dll';

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var a:Boolean;
begin
a:=msg();



end;

end.

Se puede hacer lo que quiero en una dll? Cmo lo haria..

Desde ya muchas gracias.
Responder Con Cita
  #2  
Antiguo 04-12-2006
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.234
Poder: 20
ElKurgan Va camino a la fama
Por lo que veo, estas intentando mostrar un formulario que aún no ha sido creado. Antes de "Form1.Show" tendrás que crearlo...

Prueba con algo como esto:
Código:
function msg:Boolean;stdcall;
begin
  form1 := TForm1.Create(nil)
  try
    try
      form1.Show;
      result:=true;
    except
      showMessage('Error al intantar mostrar el mensaje');
      result:=true;
    end;
  finally
    form1.free;
  end;
end;
Un saludo
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
Mostrar un formulario de una aplicacion oculta nenufer API de Windows 2 01-06-2006 11:26:45
Mostrar formulario hijo TinkerBell .NET 4 28-11-2005 11:23:00
Volver a mostrar un formulario creado dinámicamente. jplj Varios 2 10-02-2005 13:19:27
mostrar formulario minimizado jfontane Varios 5 28-08-2003 03:45:19
Error al mostrar formulario jmselesan OOP 2 13-08-2003 21:11:14


La franja horaria es GMT +2. Ahora son las 10:11:22.


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