![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Form en DLL
Hola a todos,
Estoy realizando un programa en el cual hay un campo CONTRASEÑA si el usuario graba los cambios aparecera una ventana (la cual esta incluida en la DLL) donde se solicita confirmar la contraseña, el programa verificara que ambas contraseñas sean iguales, esto lo confirma por medio de una funcion (incluida tambien en la DLL), el intento lo hice por medio de un PROCEDURE (para que apareciera la ventana y no hubo inconveniente) pero al realizarlo con una FUNCTION me genera un error: Access violation at address 00000000. Read of address 00000000. Alguien podriame decirme donde tengo el error??, adjunto el codigo fuente:
Agradesco de antemano la colaboracion brindada. Última edición por Neftali [Germán.Estévez] fecha: 09-08-2012 a las 17:39:59. Razón: Corregir los TAG's |
|
#2
|
|||
|
|||
|
Saludos,
Una posibilidad es que no has incluido ShareMem en el uses. http://delphi.about.com/od/objectpas.../aa103003a.htm |
|
#3
|
|||
|
|||
|
gracias por la respuesta, habia pensado en utilizar una variable en la DLL (Asiganandole TRUE o FALSE si los valores de las claves coinciden o no) y exportarle, pero hasta ahi me llega lo que se porque no se como leer el valor de esa variable?? podrias ayudarme con eso? o como utilizar ShareMem que estoy muy novato en eso. gracias
|
|
#4
|
|||
|
|||
|
Hola,
Si quieres poder pasar parámetros a tu función en la DLL de tipo string, debes incluir ShareMem en el uses: Código:
library CLDRes;
uses
ShareMem,
SysUtils,
Classes,
bsSkinData,
Forms,
Controls,
uPassOk in 'FORM\uPassOk.pas' {wPassOk};
{$R *.res}
function ConfirmPass(S: string; H: THandle): Boolean; stdcall;
begin
Application.Handle := H;
with TwPassOk.Create(Application) do
....
end;
Código:
try
ShowModal;
if ModalResult = mrOk then
if S = '' then Result := False
else
if S <> pePass.Text then
Result := False
else
Result := True
else
Result := False;
finally
Free;
end;
|
|
#5
|
|||
|
|||
|
Gracias por responderme,
El formulario principal es donde se puede ingresar, modificar o eliminar los usuarios que van a utilizar el programa, si se va a ingresar un nuevo usuario o cambiar la CONTRASEÑA al momento de oprimir el boton POST aparecera una ventana (que esta en la DLL TwPassOk) donde solicita que se ingrese de nuevo la CONTRASEÑA, si esto es igual al campo CONTRASEÑA del formulario principal graba el nuevo usuario o la modificacion de la contraseña, en caso contrario aparece un mensaje donde me informa que las contraseñas no coinciden. Ahora intento enviar el ModalResult del TwPassOk a una variable Pass de tipo Boolean:
Todo funciona, la ventana me abre en ShowModal, pero no se como leer el valor asignado a esta variable (lo ensayo por ahora en un ShowMessage), me lanza un error (aqui muestro lo escrito en el formulario principal):
Gracias de antemano tu ayuda, si me puedes explicar como utilizar el ShareMem o si se puede solucionar algo en este codigo fuente, me disculpas por tanta molestia pero no soy muy experto en esto. Última edición por Jose Roman fecha: 10-08-2012 a las 17:54:14. |
|
#6
|
|||
|
|||
|
Algo asi debería funcionarte (no lo he probado
)
|
|
#7
|
||||
|
||||
|
Mira estos cambios:
A falta de tu proyecto he hecho un ejemplo que optimiza el llamamiento a la dll y evita la asignación innecesaria del Handle de la aplicación. Subo el proyecto de ejemplo. Saludos. Última edición por escafandra fecha: 09-03-2020 a las 08:00:24. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Determinar en un Form Principal cuando se Cierra un Form Hijo | Efren2006 | OOP | 5 | 26-02-2009 20:08:35 |
| llamar al evento click de un boton q se encuentra en un form desde otro form | TURBOIGOR | OOP | 6 | 02-12-2008 14:50:16 |
| Como llamar form desde otros form y regresar a la linea que se estaba ejecutando | Willy Rodrigo | C++ Builder | 1 | 03-08-2007 19:36:23 |
| Form modal deja que el form llamante tome el foco | tata | Varios | 6 | 17-05-2006 11:51:37 |
| Imposible hacer visible un form desde otro form | SMTZ | .NET | 13 | 16-01-2006 21:41:08 |
|