Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como Maximizar un FORM? (https://www.clubdelphi.com/foros/showthread.php?t=48787)

eddg 04-10-2007 01:05:01

Como Maximizar un FORM?
 
señores, se les saluda, mi problemita es el siguiente:
Tengo una FORM, la cual tiene

>> BorderStyle=bsNone

Entonces, en un ToolBar tengo varios Botones, de los Cuales, tengo los Botones,
1 >> Ver Pantalla Completa y
2 >> No Ver Pantalla Completa

Cuando Ejecuto la Aplicacion, Aparece en Pantalla completa y el boton 1 no esta visible, en cambio el boton 2 sí.
Entonces, Cuando hago Click en el Boton 2, el

Form
>> Principal.BorderStyle pasa a ser "bsSizeable"
y Digp que el Boton 1 Aparezca y el Boton 2 desaparece. Hasta aqui todo perfecto, sin embargo, el problema es cuando al BOTON 1, le doy la siguiente ACCION:

Le digo en el evento On Click que Principal.BorderStyle sea igual a bsNone, y me da un error de ejecución!!!

[Warning] Unit1.pas(8): Unit 'ShellCtrls' is specific to a platform
[Warning] Unit1.pas(8): Unit 'Outline' is deprecated



Alguno de uds sabra que ocurre!
De ante mano agradezco a quien pueda ayudarme, Exitos para todos!

b3nshi 04-10-2007 02:02:32

podes subir el codigo fuente del boton? quizas ahi se vea mas claro el problema...

{Saludos}

eddg 04-10-2007 02:54:48

>> boton 1 = toolbutton20
>> boton 2 = toolbutton16

--------------------------------------------------------------------

procedure Tprincipal.ToolButton20Click(Sender: TObject);
begin
toolbutton16.Visible:=true;
toolbutton20.Visible:=false;
principal.BorderStyle:=bsnone;
end;


procedure Tprincipal.ToolButton16Click(Sender: TObject);
begin
principal.BorderStyle:=bssizeable;
toolbutton16.Visible:=false;
toolbutton20.Visible:=true;
end;


--------------------------------------------------------------------

http://img149.imagevenue.com/img.php..._123_635lo.jpg

Me aparece este error:
[Warning] Unit1.pas(8): Unit 'ShellCtrls' is specific to a platform
[Warning] Unit1.pas(8): Unit 'Outline' is deprecated

dec 04-10-2007 04:55:08

Hola,

Los errores que dices que te aparecen no son de tiempo de ejecución, sino de tiempo de diseño. Son advertencias del compilador, concretamente, de qu eestás usando una unidad que es específica para una plataforma (Windows) y de que otra unidad está considera obsoleta y tal vez haya alguna que pueda sustituirla.

Pero dichos errores no detienen el programa, ni son óbice para el "access violation" que se ve en la imagen que enlazas. Los "Access violation", entre otras cosas, aparecen porque trata de accederse a un objeto todavía no instanciado (sin crear) o que ya fue liberado. Ejecuta tu programa paso a paso, sitúa algunos "puntos de ruptura" para asegurarte de que no tratas de hacer uso de algún objeto no disponible.

eddg 04-10-2007 05:43:31

Ok, de verdad no se!
 
Hermano, GRACIAS por tu interes, sin embargo, no se a que te refieres o mejor dicho, no se a que se refiere el Compilador!

Te cuento que cuando tengo el siguiente CODIGO no Ocurre el error:
===============================================
procedure Tprincipal.ToolButton20Click(Sender: TObject);
begin
toolbutton16.Visible:=true;
toolbutton20.Visible:=false;
// principal.BorderStyle:=bssingle;
end;

===============================================
y el error aparece sólo cuando dejo de comentar la tercera línea.

Entonces, cerré el Delphi y ejecute el PROGRAMA desde su (.exe) y ejecutea perfecto, pero el error ocurre cuando le doy click al
ToolButton20. la imagen del error que aparece es esta:


http://img168.imagevenue.com/aAfkjfp..._123_729lo.jpg

Pero sin embargo, el programa sigue abierto y trabaja normalmente,
y es importante resaltar que la TForm principal queda en
BorderStyle=bsSizeable.

Que tu crees, cual pueda ser el error????




dec 04-10-2007 05:55:22

Hola,

Pues lo más probable es que la variable "principal" no contenga una instancia válida del objeto que se espera. ¿De dónde sale esa variable "principal"? ¿Dónde se declara? Por otro lado, parece que podrías probar algo como esto: en lugar de usar la variable "principal", usa "self".

Código Delphi [-]
procedure Tprincipal.ToolButton20Click(Sender: TObject);
begin
  toolbutton16.Visible:=true;
  toolbutton20.Visible:=false;
  self.BorderStyle:=bssingle;
end;

Y suerte...

eddg 04-10-2007 06:22:40

Que Va!
 
PRINCIPAL es el nombre de mi TForm principal

por ello el código

principal.BorderStyle=bsNone;


Cambié de todas maneras a

self.BorderStyle=bsNone;

Complia BIEN y ejecuta bien, pero al hacer click en el ToolButton20, da el mismo ERROR...

Q tal?


La franja horaria es GMT +2. Ahora son las 00:25:40.

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