![]() |
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. |
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; |
| La franja horaria es GMT +2. Ahora son las 20:45:26. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi