Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-07-2019
michal michal is offline
Miembro
 
Registrado: feb 2015
Posts: 28
Poder: 0
michal Va por buen camino
cómo deshabilitar un menu(Form principal) desde otro Form contenido en una DLL dinámi

Hola a todos, estoy haciendo un proyecto grande que involucra bases de datos en SQLite etc..
Entonces quiero que cuando mi proyecto detecte que no existe la base de datos, se inhabilite el menu para acceder a ella, y solo esté accesible uno para crear una Base Datos nueva, y que, luego, al ser creada, se vuelva a habilitar todo el menú. Parece complejo, y por eso hice algo nuevo, para solamente tratar el tema que me ocupa, expliqué lo anterior, para que vean el motivo que me impulsa a todo esto.
Ahora tengo el Proyecto1, un sencillo Form1,un botón(para llamar a Form3), con un TMainMenu, y algunos Items y cada uno con un subItem (ninguno hace nada) solo quiero habilitarlos y deshabilitarlos.
Tengo un Proyecto2.dll, que tiene dentro a Form3, el cual tiene un botón, para habilitar/deshabilitar los Items del TMainMenu del Form1. Desde el Form1 puedo llamar al Form3 dinámicamente (me saltaré esos pasos). En la Unit3 (que pertenece al Form3) agregué el header Unit1.h(que pertenece al Form1) y en evento onclick del botón del Form3 puse esto:

Código PHP:
void __fastcall TForm3::Button1Click(TObject *Sender)
{
 if(
Form1->Item11->Enabled)
 {
 
Form1->Item11->Enabled false;
 
Form1->Item21->Enabled false;
 
Form1->Item31->Enabled false;
 
Button1->Caption "Activate Menu";
 }
 else
 {
  
Form1->Item11->Enabled true;
  
Form1->Item21->Enabled true;
  
Form1->Item31->Enabled true;
  
Button1->Caption "Deactivate Menu";
 }

Al compilar me dá este ERRORSAZO

[ilink32 Error] Error: Unresolved external '_Form1' referenced from C:\USERS\ADMINISTRADOR\DOCUMENTS\EMBARCADERO\STUDIO\PROJECTS\MAINMENU2\WIN32\DEBUG\UNIT3.OBJ

Quiero saber qué es lo que estoy haciendo mal, gracias ya por adelantado

Última edición por Casimiro Notevi fecha: 22-07-2019 a las 19:32:43.
Responder Con Cita
  #2  
Antiguo 22-07-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No olvides usar las etiquetas para el código:
Responder Con Cita
  #3  
Antiguo 22-07-2019
michal michal is offline
Miembro
 
Registrado: feb 2015
Posts: 28
Poder: 0
michal Va por buen camino
No entendí

Hola Moderador, te refieres a que vuelva a redactar mi duda, pero con lo que me sugieres??
Responder Con Cita
  #4  
Antiguo 22-07-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por michal Ver Mensaje
Hola Moderador, te refieres a que vuelva a redactar mi duda, pero con lo que me sugieres??
No, solamente que lo tengas en cuenta para otras ocasiones
Saludos.
Responder Con Cita
  #5  
Antiguo 22-07-2019
michal michal is offline
Miembro
 
Registrado: feb 2015
Posts: 28
Poder: 0
michal Va por buen camino
Discúlpenme todos, estoy programado en RAD Studio TOKYO 10.2.3, C++Builder. Y por no poner la etiquetas de código, el foro lo interpretó como php, pero no: es C++Builder
Responder Con Cita
  #6  
Antiguo 22-07-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por michal Ver Mensaje
Discúlpenme todos, estoy programado en RAD Studio TOKYO 10.2.3, C++Builder. Y por no poner la etiquetas de código, el foro lo interpretó como php, pero no: es C++Builder
No te preocupes por eso, es que con las etiquetas php creo que se ve mejor el código.
Tu pregunta está en el foro correcto, c++ builder, así que todo bien

Código:
void __fastcall TForm3::Button1Click(TObject *Sender)
{
 if(Form1->Item11->Enabled)
 {
 Form1->Item11->Enabled = false;
 Form1->Item21->Enabled = false;
 Form1->Item31->Enabled = false;
 Button1->Caption = "Activate Menu";
 }
 else
 {
  Form1->Item11->Enabled = true;
  Form1->Item21->Enabled = true;
  Form1->Item31->Enabled = true;
  Button1->Caption = "Deactivate Menu";
 }
}
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
cerrar form, desde otro form sawesotj Varios 3 31-01-2015 01:29:34
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 puedo asociar un form a otro form? jasz OOP 1 28-11-2007 00:12:09
Imposible hacer visible un form desde otro form SMTZ .NET 13 16-01-2006 21:41:08
Maximizar Form del Menu Principal... BlueSteel Varios 2 10-01-2005 15:51:39


La franja horaria es GMT +2. Ahora son las 08:03:51.


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