<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Dica para gerenciamento de formulários</title>
	<atom:link href="http://blog.joaomorais.com.br/2008/08/31/dica-gerenciamento-form.html/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.joaomorais.com.br/2008/08/31/dica-gerenciamento-form.html</link>
	<description>Object Pascal e ferramentas de programação com Arte</description>
	<pubDate>Mon, 06 Sep 2010 07:01:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>By: Silvio Clécio</title>
		<link>http://blog.joaomorais.com.br/2008/08/31/dica-gerenciamento-form.html#comment-30941</link>
		<dc:creator>Silvio Clécio</dc:creator>
		<pubDate>Wed, 07 Apr 2010 07:09:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joaomorais.com.br/?p=73#comment-30941</guid>
		<description>João, esquece o ultimo comentário que fiz, executa normal aqui no Lazarus :)

Quem quiser calar os hints chatos do FPC:

(...)
var
  VIndex: Integer;
begin
  VIndex := 0;
  if not Assigned(_Forms) then
  begin
(...)

João, detona esse cara do "vigara medicine", que spam fdp!</description>
		<content:encoded><![CDATA[<p>João, esquece o ultimo comentário que fiz, executa normal aqui no Lazarus <img src='http://blog.joaomorais.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Quem quiser calar os hints chatos do FPC:</p>
<p>(&#8230;)<br />
var<br />
  VIndex: Integer;<br />
begin<br />
  VIndex := 0;<br />
  if not Assigned(_Forms) then<br />
  begin<br />
(&#8230;)</p>
<p>João, detona esse cara do &#8220;vigara medicine&#8221;, que spam fdp!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Silvio Clécio</title>
		<link>http://blog.joaomorais.com.br/2008/08/31/dica-gerenciamento-form.html#comment-28937</link>
		<dc:creator>Silvio Clécio</dc:creator>
		<pubDate>Wed, 17 Feb 2010 02:30:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joaomorais.com.br/?p=73#comment-28937</guid>
		<description>João meu caro, estou sempre visitando seu blog e relendo esses artigos, pois são ótimos, os melhores.
Uma coisa, só uma pequena correção no segundo bloco de código,  colocar o "= False" no "Execute(var AForm; AModal: Boolean)", para ficar igual a declaração. ;)</description>
		<content:encoded><![CDATA[<p>João meu caro, estou sempre visitando seu blog e relendo esses artigos, pois são ótimos, os melhores.<br />
Uma coisa, só uma pequena correção no segundo bloco de código,  colocar o &#8220;= False&#8221; no &#8220;Execute(var AForm; AModal: Boolean)&#8221;, para ficar igual a declaração. <img src='http://blog.joaomorais.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thiago</title>
		<link>http://blog.joaomorais.com.br/2008/08/31/dica-gerenciamento-form.html#comment-16792</link>
		<dc:creator>Thiago</dc:creator>
		<pubDate>Tue, 26 May 2009 13:25:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joaomorais.com.br/?p=73#comment-16792</guid>
		<description>Bom dia, o meu problema com gerenciamento de Formulários acontece da seguinte forma:
  Eu tenho um formulario de Busca, e um Formulario de Cadastro, No meu formulario de busca estão os componentes de Persistencia (TSqlQuery, TDataSetProvider, TClientDataSet) que serão utilizados, tanto para buscar os registros, quanto para fazer a inserção e edição dos mesmos. O Formulario de Cadastro não possue componentes de Persistencia, ou seja, Todos os "DbEdits" que estão  na tela de cadastro, estão referenciados aos componentes de persistencia do Formulario de Busca.

O Problema Ocorre no seguinte caso : Eu tenho um Formulario de Busca Instanciado. Eu quero criar outra Instancia deste mesmo Formulario Busca, o qual eu realizarei alterações no componente de Persistencia, e ao criar um Formulario de Cadastro, eu necessito que este esteja referenciada com essa instancia alterada, e não a primeira instancia que eu já o tinha criada... Em outras Palavras .... Os tais Componentes "DbEdits" presentes na tela de Cadastro estão ligados aos componentes que eu não alterei, isto quer dizer q o Fomulario de Cadastro que eu tenho esta vinculado a primeira instancia do Formulario de Busca, e não a Instancia que eu alterei os componentes...
A duvida é, como referenciar o Formulario de Cadastro a segunda instancia do Formulario de Busca e não a primeira?</description>
		<content:encoded><![CDATA[<p>Bom dia, o meu problema com gerenciamento de Formulários acontece da seguinte forma:<br />
  Eu tenho um formulario de Busca, e um Formulario de Cadastro, No meu formulario de busca estão os componentes de Persistencia (TSqlQuery, TDataSetProvider, TClientDataSet) que serão utilizados, tanto para buscar os registros, quanto para fazer a inserção e edição dos mesmos. O Formulario de Cadastro não possue componentes de Persistencia, ou seja, Todos os &#8220;DbEdits&#8221; que estão  na tela de cadastro, estão referenciados aos componentes de persistencia do Formulario de Busca.</p>
<p>O Problema Ocorre no seguinte caso : Eu tenho um Formulario de Busca Instanciado. Eu quero criar outra Instancia deste mesmo Formulario Busca, o qual eu realizarei alterações no componente de Persistencia, e ao criar um Formulario de Cadastro, eu necessito que este esteja referenciada com essa instancia alterada, e não a primeira instancia que eu já o tinha criada&#8230; Em outras Palavras &#8230;. Os tais Componentes &#8220;DbEdits&#8221; presentes na tela de Cadastro estão ligados aos componentes que eu não alterei, isto quer dizer q o Fomulario de Cadastro que eu tenho esta vinculado a primeira instancia do Formulario de Busca, e não a Instancia que eu alterei os componentes&#8230;<br />
A duvida é, como referenciar o Formulario de Cadastro a segunda instancia do Formulario de Busca e não a primeira?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joao Morais</title>
		<link>http://blog.joaomorais.com.br/2008/08/31/dica-gerenciamento-form.html#comment-13012</link>
		<dc:creator>Joao Morais</dc:creator>
		<pubDate>Mon, 16 Feb 2009 21:21:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joaomorais.com.br/?p=73#comment-13012</guid>
		<description>Known issue. Thanks.</description>
		<content:encoded><![CDATA[<p>Known issue. Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jaserises</title>
		<link>http://blog.joaomorais.com.br/2008/08/31/dica-gerenciamento-form.html#comment-12963</link>
		<dc:creator>Jaserises</dc:creator>
		<pubDate>Sun, 15 Feb 2009 22:19:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joaomorais.com.br/?p=73#comment-12963</guid>
		<description>Your web page does not correctly work in safari browser</description>
		<content:encoded><![CDATA[<p>Your web page does not correctly work in safari browser</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Erich Nascimento</title>
		<link>http://blog.joaomorais.com.br/2008/08/31/dica-gerenciamento-form.html#comment-2982</link>
		<dc:creator>Erich Nascimento</dc:creator>
		<pubDate>Sun, 23 Nov 2008 00:23:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joaomorais.com.br/?p=73#comment-2982</guid>
		<description>Cara, essa dica me serviu muito bem.
Estou reestruturando minhas aplicações que são SDI para MDI.
Ontem tive uma ideia de criar uma classe base da qual seriam herdados todos os meus formularios child. A merda ocorria exatamente neste ponto. Na hora em que fechava o formulario filho, não conseguia setar a variavel de instancia para nil a partir dessa classe pai.
Tentei de varias formas, fiquei umas 3 horas googando e naaada. Relaxei, tomei uma Pepsi, e encontrei seu blog. Show cara, serviu perfeitamente esta técnica para mim.
Obrigado.</description>
		<content:encoded><![CDATA[<p>Cara, essa dica me serviu muito bem.<br />
Estou reestruturando minhas aplicações que são SDI para MDI.<br />
Ontem tive uma ideia de criar uma classe base da qual seriam herdados todos os meus formularios child. A merda ocorria exatamente neste ponto. Na hora em que fechava o formulario filho, não conseguia setar a variavel de instancia para nil a partir dessa classe pai.<br />
Tentei de varias formas, fiquei umas 3 horas googando e naaada. Relaxei, tomei uma Pepsi, e encontrei seu blog. Show cara, serviu perfeitamente esta técnica para mim.<br />
Obrigado.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joao Morais</title>
		<link>http://blog.joaomorais.com.br/2008/08/31/dica-gerenciamento-form.html#comment-1899</link>
		<dc:creator>Joao Morais</dc:creator>
		<pubDate>Sun, 12 Oct 2008 13:31:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joaomorais.com.br/?p=73#comment-1899</guid>
		<description>Que não seria mais eficiente do que sobrecarregar o destructor. E o maior problema ainda permaneceria: como localizar a variável que aponta para a instância do form a fim de setá-la para nil?</description>
		<content:encoded><![CDATA[<p>Que não seria mais eficiente do que sobrecarregar o destructor. E o maior problema ainda permaneceria: como localizar a variável que aponta para a instância do form a fim de setá-la para nil?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rodrigo Palhano</title>
		<link>http://blog.joaomorais.com.br/2008/08/31/dica-gerenciamento-form.html#comment-1840</link>
		<dc:creator>Rodrigo Palhano</dc:creator>
		<pubDate>Wed, 08 Oct 2008 11:52:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joaomorais.com.br/?p=73#comment-1840</guid>
		<description>Outra abordagem seria utilizar o mecanismo de notificação já presente na classe TComponent     
   
procedure Notification(AComponent: TComponent;  Operation: TOperation); override;


para remover a referencia do field que aponte para o sub-form.</description>
		<content:encoded><![CDATA[<p>Outra abordagem seria utilizar o mecanismo de notificação já presente na classe TComponent     </p>
<p>procedure Notification(AComponent: TComponent;  Operation: TOperation); override;</p>
<p>para remover a referencia do field que aponte para o sub-form.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joao Morais</title>
		<link>http://blog.joaomorais.com.br/2008/08/31/dica-gerenciamento-form.html#comment-1835</link>
		<dc:creator>Joao Morais</dc:creator>
		<pubDate>Wed, 08 Oct 2008 11:07:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joaomorais.com.br/?p=73#comment-1835</guid>
		<description>Eu concordo com você, e eu também apago estas variáveis pois o mvp do pressobjects cuida das instâncias por mim.

E além do acoplamento, que vai ocorrer de qualquer forma ao acessar a classe do form, o modelo proposto e a forma que o delphi encoraja o uso dos forms imaginam uma única instância de cada form de cada vez.

No entanto tenho visto pessoas procurarem meios de automatizar a atualização desta variável global, e é este o objetivo do artigo.</description>
		<content:encoded><![CDATA[<p>Eu concordo com você, e eu também apago estas variáveis pois o mvp do pressobjects cuida das instâncias por mim.</p>
<p>E além do acoplamento, que vai ocorrer de qualquer forma ao acessar a classe do form, o modelo proposto e a forma que o delphi encoraja o uso dos forms imaginam uma única instância de cada form de cada vez.</p>
<p>No entanto tenho visto pessoas procurarem meios de automatizar a atualização desta variável global, e é este o objetivo do artigo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rodrigo Palhano</title>
		<link>http://blog.joaomorais.com.br/2008/08/31/dica-gerenciamento-form.html#comment-1828</link>
		<dc:creator>Rodrigo Palhano</dc:creator>
		<pubDate>Wed, 08 Oct 2008 02:48:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joaomorais.com.br/?p=73#comment-1828</guid>
		<description>Eu nunca uso a variavel global de forms que o delphi gera. A primeira coisa que eu faço é apagá-la quando crio uma nova unit, então esse problema simplesmente deixa de existir.

se vc usar showmodal fica mais simples

 With Tform1.Create (nil) do
 begin
   ShowModal;
   Release;
 end;

ou se naum usar showmodal vc pode criar uma referencia em um field no form que chama o form filho

neste caso para limpar a referencia invalida do field vc poderia escutar o onclose do form filho.

o uso destas variaveis globais que o delph encoraja promovem acoplamento.</description>
		<content:encoded><![CDATA[<p>Eu nunca uso a variavel global de forms que o delphi gera. A primeira coisa que eu faço é apagá-la quando crio uma nova unit, então esse problema simplesmente deixa de existir.</p>
<p>se vc usar showmodal fica mais simples</p>
<p> With Tform1.Create (nil) do<br />
 begin<br />
   ShowModal;<br />
   Release;<br />
 end;</p>
<p>ou se naum usar showmodal vc pode criar uma referencia em um field no form que chama o form filho</p>
<p>neste caso para limpar a referencia invalida do field vc poderia escutar o onclose do form filho.</p>
<p>o uso destas variaveis globais que o delph encoraja promovem acoplamento.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
