Ir al contenido



Foto

Y la Herencia Visual en Delphi Prism?


  • Por favor identifícate para responder
5 respuestas en este tema

#1 IcebergDelphi

IcebergDelphi

    Advanced Member

  • Moderadores
  • PipPipPip
  • 176 mensajes
  • LocationVillaflores, Chiapas, Mexico

Escrito 26 octubre 2009 - 01:29

Que tal amigos, es para cualquier programador , interesante que su herramienta pueda soportar Herencia Visual, tal es el caso de Delphi, y en este caso C#, pero haciendo pruebas, puede hacer la herencia Visual en Delphi Prism, pero sale un error :

A project with an project type of library cannot be started directly

Y es  causado por que en las propiedades del proyecto (Out put Type) no se puede dejar como Class Library, pero al dejarlo como:Windows Application de igual forma muestra errores.

Alguien del Foro ya a hecho herencia Visual con Delphi Prism, tendra algun ejemplo.?

Saludos y gracias.
:undecided:
  • 0

#2 markdelphi

markdelphi

    Advanced Member

  • Moderadores
  • PipPipPip
  • 97 mensajes
  • LocationMéxico

Escrito 26 octubre 2009 - 05:40

Este no es un error que tenga que ver con la herencia, más bien lo que creo que estás haciendo es que creaste un nuevo proyecto de tipo Class Library, después dentro de la misma solución creaste un proyecto de tipo Windows forms, hiciste la herencia pero al intentar ejecutarlo te marca este error porque el proyecto por defecto es el de tipo Biblioteca y no el de Windows Forms, lo que tienes que hacer es dentro del explorador de soluciones seleccionar el proyecto de tipo Windows Forms, dar clic derecho y dar clic en "Establecer como proyecto de inicio" y de esta forma el proyecto se ejecutará.

Saludos
  • 0

#3 IcebergDelphi

IcebergDelphi

    Advanced Member

  • Moderadores
  • PipPipPip
  • 176 mensajes
  • LocationVillaflores, Chiapas, Mexico

Escrito 26 octubre 2009 - 06:34

Hola Mark gracias por tu respuesta, te planteo lo que hice a lo mejor en algun paso me equivoque:

1.- A crear mi nuevo proyecto seleccione Winforms
2.- Coloque en el Form que en este caso sera mi plantilla( 2 Botones y un Panel)
3.-Di click derecho sobre el proyecto y di click en Propiedades
4.-Me aparece una ventana en la cual en la parte que dice  OutputType estableci Class Library ( Practicamente estoy siguiendo los pasos que haria en C#) Y guardo todo.
5.- Doy Click derecho  sobre el Solution explores y doy clic en add.. Ad new item ( Aca se supone que deneria de aparecer algo que dijera WinForm Inheritance como en C# pero no aparece nada asi que escojo un WinForm
6.- Entro a las propiedades del Nuevo Winform y en Type pongo lo siguiente:


delphi
  1. Type
  2. MiNuevoFrmHeredado = Public partial class(FrmPlantillaBase)// Plantilla Base el el Form al cual le estoy tomando la herencia.



7.- Compilo y todo esta Ok
8.- creo otro Form para poder llamar al Form Heredado, lo estableco como principal, compilo y todo Ok.

9.- Al querer correr la aplicacion sale el siguiente error:
A Project with an  Project Type of library cannnot be startly directly
:sad:

Estare mal en algun paso? en C# esto de las herencias va de la mano, pero en Delphi Prism algo estoy haciendo mal jeje, gracias amigo Mark espero tu respuesta.
  • 0

#4 markdelphi

markdelphi

    Advanced Member

  • Moderadores
  • PipPipPip
  • 97 mensajes
  • LocationMéxico

Escrito 26 octubre 2009 - 07:13

¿Porqué cambias el OutPutType del proyecto a ClassLibrary?

No lo entiendo, me imagino que quieres tener una biblioteca en donde tengas todos los formularios base para luego a partir de ahí heredarlos en tus proyectos ¿Esto es así?

Si es así, lo que tienes que hacer es crear un proyecto de tipo ClassLibrary y ahi agregar y configurar tus formularios base, eso sí, tienes que cambiarlos a públicos porque si no no los podras ver desde las aplicaciones.

Luego cuando crees tu aplicación de tipo Windows Forms agregar la referencia a ese proyecto de tipo ClassLibrary y heredar de alguno de los formularios base que tienes ahi.

  • 0

#5 IcebergDelphi

IcebergDelphi

    Advanced Member

  • Moderadores
  • PipPipPip
  • 176 mensajes
  • LocationVillaflores, Chiapas, Mexico

Escrito 27 octubre 2009 - 10:54

Gracias Mark por tu respuesta, mira practicamente quiero hacer lo que  vi en esta pagina y se puede hacer con C#, checa el dato:

http://www.akadia.co...ited_forms.html

Saludos y gracias
  • 0

#6 markdelphi

markdelphi

    Advanced Member

  • Moderadores
  • PipPipPip
  • 97 mensajes
  • LocationMéxico

Escrito 27 octubre 2009 - 11:10

Viendo el ejemplo que mandaste, básicamente es lo que te digo, no sé porque crea el proyecto de tipo Windows Forms y luego lo cambia a Class Library, dese un principio lo puedes crear de tipo Class Library, ahí creas los formularios base y después esa biblioteca la puedes usar en otros proyectos.

Yo lo hago de esta forma y me funciona bien.

Saludos
  • 0