<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentários sobre: Acelerando TClientDataSet com Midas Speed Fix &#8211; Unit</title>
	<atom:link href="http://www.cesarromero.com.br/2009/acelerando-tclientdataset-com-midas-speed-fix-unit/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cesarromero.com.br/2009/acelerando-tclientdataset-com-midas-speed-fix-unit/</link>
	<description>Delphi programming</description>
	<lastBuildDate>Sun, 05 Sep 2010 16:07:05 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
	<item>
		<title>Por: Cleo Hickmann Junior</title>
		<link>http://www.cesarromero.com.br/2009/acelerando-tclientdataset-com-midas-speed-fix-unit/comment-page-1/#comment-11559</link>
		<dc:creator>Cleo Hickmann Junior</dc:creator>
		<pubDate>Fri, 30 Jan 2009 12:50:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.cesarromero.com.br/?p=479#comment-11559</guid>
		<description>Cesar, executei os testes aqui com o programa exemplo anexado ao QC 7102. Realmente os tempos são impressionantes. Mas este caso específico, o TClientDataSet utiliza o método AppendData, buscando os dados de outro TClientDataSet. Porém, fizemos testes com as nossas aplicações fazendo importação de uma grande quantidade de dados buscando diretamente de arquivo texto e inserindo através dos métodos Insert e Post. Mesmo assim estamos buscando uma forma de poder aproveitar as vantagens do Midas Speed Fix. 

Grande abraço.</description>
		<content:encoded><![CDATA[<p>Cesar, executei os testes aqui com o programa exemplo anexado ao QC 7102. Realmente os tempos são impressionantes. Mas este caso específico, o TClientDataSet utiliza o método AppendData, buscando os dados de outro TClientDataSet. Porém, fizemos testes com as nossas aplicações fazendo importação de uma grande quantidade de dados buscando diretamente de arquivo texto e inserindo através dos métodos Insert e Post. Mesmo assim estamos buscando uma forma de poder aproveitar as vantagens do Midas Speed Fix. </p>
<p>Grande abraço.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Cesar</title>
		<link>http://www.cesarromero.com.br/2009/acelerando-tclientdataset-com-midas-speed-fix-unit/comment-page-1/#comment-11558</link>
		<dc:creator>Cesar</dc:creator>
		<pubDate>Mon, 26 Jan 2009 10:41:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.cesarromero.com.br/?p=479#comment-11558</guid>
		<description>Paulo, veja nos comentários anteriores, eu expliquei o mesmo para o Mauro. Para usar o MidasSpeedFix, é necessário utilizar o FastMM, tem o link nos outros comentários.
A partir do Delphi 2006, o FastMM já está incluido.</description>
		<content:encoded><![CDATA[<p>Paulo, veja nos comentários anteriores, eu expliquei o mesmo para o Mauro. Para usar o MidasSpeedFix, é necessário utilizar o FastMM, tem o link nos outros comentários.<br />
A partir do Delphi 2006, o FastMM já está incluido.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Paulo</title>
		<link>http://www.cesarromero.com.br/2009/acelerando-tclientdataset-com-midas-speed-fix-unit/comment-page-1/#comment-11557</link>
		<dc:creator>Paulo</dc:creator>
		<pubDate>Mon, 26 Jan 2009 10:06:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.cesarromero.com.br/?p=479#comment-11557</guid>
		<description>estou testando aqui como vc falou so que aparece um mensagem toda vez que compilo o projeto teria como retirar este mensagem ou eu devo ter feito algo de errodo

&quot;You must install an alternative memory manager like FastMM4. FastMM4 must run in RELEASE mode to see an improved performance&quot;</description>
		<content:encoded><![CDATA[<p>estou testando aqui como vc falou so que aparece um mensagem toda vez que compilo o projeto teria como retirar este mensagem ou eu devo ter feito algo de errodo</p>
<p>&#8220;You must install an alternative memory manager like FastMM4. FastMM4 must run in RELEASE mode to see an improved performance&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Cesar</title>
		<link>http://www.cesarromero.com.br/2009/acelerando-tclientdataset-com-midas-speed-fix-unit/comment-page-1/#comment-11548</link>
		<dc:creator>Cesar</dc:creator>
		<pubDate>Thu, 22 Jan 2009 21:55:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.cesarromero.com.br/?p=479#comment-11548</guid>
		<description>Mauro,

Memory leak é causado por objetos que você criou e não destruiu, é necessário procurar nos fontes isto e corrigir.
Ex:

&lt;pre&gt;
procedure ListarItemsMemoryLeak;
var
  SL: TStringList;
  I: Integer;
begin
  SL:= TStringList.Create;
  for I:= 0 to 99 do
    SL.Add(&#039;Item: &#039; + I);
  MessageDlg(SL.Text, mtInformation, [mbOK], 0);
end; 
&lt;/pre&gt;

Este é um caso típico de memory leak, pois foi criado uma instancia de TStringList e não foi destruído, pra resolver este problema, é necessário o seguinte código:

&lt;pre&gt;
procedure ListarItemsOK;
var
  SL: TStringList;
  I: Integer;
begin
  SL:= TStringList.Create;
  try
    for I:= 0 to 99 do
      SL.Add(&#039;Item: &#039; + I);
    MessageDlg(SL.Text, mtInformation, [mbOK], 0);
  finally
    SL.Free;
  end;
end; 
&lt;/pre&gt;


Agora é procurar por Componentes, Forms e Objetos que você cria via código na aplicação e esqueceu de destruir.
Boa sorte!!!</description>
		<content:encoded><![CDATA[<p>Mauro,</p>
<p>Memory leak é causado por objetos que você criou e não destruiu, é necessário procurar nos fontes isto e corrigir.<br />
Ex:</p>
<pre>
procedure ListarItemsMemoryLeak;
var
  SL: TStringList;
  I: Integer;
begin
  SL:= TStringList.Create;
  for I:= 0 to 99 do
    SL.Add('Item: ' + I);
  MessageDlg(SL.Text, mtInformation, [mbOK], 0);
end;
</pre>
<p>Este é um caso típico de memory leak, pois foi criado uma instancia de TStringList e não foi destruído, pra resolver este problema, é necessário o seguinte código:</p>
<pre>
procedure ListarItemsOK;
var
  SL: TStringList;
  I: Integer;
begin
  SL:= TStringList.Create;
  try
    for I:= 0 to 99 do
      SL.Add('Item: ' + I);
    MessageDlg(SL.Text, mtInformation, [mbOK], 0);
  finally
    SL.Free;
  end;
end;
</pre>
<p>Agora é procurar por Componentes, Forms e Objetos que você cria via código na aplicação e esqueceu de destruir.<br />
Boa sorte!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: otoni</title>
		<link>http://www.cesarromero.com.br/2009/acelerando-tclientdataset-com-midas-speed-fix-unit/comment-page-1/#comment-11547</link>
		<dc:creator>otoni</dc:creator>
		<pubDate>Thu, 22 Jan 2009 21:38:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.cesarromero.com.br/?p=479#comment-11547</guid>
		<description>Caro Cesar, mais uma vez agradeço sua ajuda, consegui resolver o problema. Porém agora depois de instalado o FASTMM, descobri que meu programa está com &quot;Vazamento de Memoria&quot;. Como detectar este vazamento, trabalho com o DELPHI 7, e não tenho ideia de como resolver isto. Se Vc puder me ajudar, agradeço antecipadamente.

Mauro.</description>
		<content:encoded><![CDATA[<p>Caro Cesar, mais uma vez agradeço sua ajuda, consegui resolver o problema. Porém agora depois de instalado o FASTMM, descobri que meu programa está com &#8220;Vazamento de Memoria&#8221;. Como detectar este vazamento, trabalho com o DELPHI 7, e não tenho ideia de como resolver isto. Se Vc puder me ajudar, agradeço antecipadamente.</p>
<p>Mauro.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Cesar</title>
		<link>http://www.cesarromero.com.br/2009/acelerando-tclientdataset-com-midas-speed-fix-unit/comment-page-1/#comment-11545</link>
		<dc:creator>Cesar</dc:creator>
		<pubDate>Thu, 22 Jan 2009 18:09:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.cesarromero.com.br/?p=479#comment-11545</guid>
		<description>Otoni, se você utiliza O delphi 2006, 2007 ou 2009, basta apenas remover esta linha, pois estas versões já utilizam o FastMM como gerenciador de memória padrão. Se você usa usa uma versão anterior do Delphi, precisa baixar o FastMM e adicionar o diretório dele no Library Path do Delphi.
http://sourceforge.net/projects/fastmm/</description>
		<content:encoded><![CDATA[<p>Otoni, se você utiliza O delphi 2006, 2007 ou 2009, basta apenas remover esta linha, pois estas versões já utilizam o FastMM como gerenciador de memória padrão. Se você usa usa uma versão anterior do Delphi, precisa baixar o FastMM e adicionar o diretório dele no Library Path do Delphi.<br />
<a href="http://sourceforge.net/projects/fastmm/" rel="nofollow">http://sourceforge.net/projects/fastmm/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Otoni</title>
		<link>http://www.cesarromero.com.br/2009/acelerando-tclientdataset-com-midas-speed-fix-unit/comment-page-1/#comment-11544</link>
		<dc:creator>Otoni</dc:creator>
		<pubDate>Thu, 22 Jan 2009 18:01:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.cesarromero.com.br/?p=479#comment-11544</guid>
		<description>Obrigado, Cesar, pela dica

estou tendo agora este erro &quot; [Fatal Error] PRTeste.dpr(160): File not found: &#039;FastMM4.dcu&#039; &quot;

como faço para acertar isto.

Valeu.</description>
		<content:encoded><![CDATA[<p>Obrigado, Cesar, pela dica</p>
<p>estou tendo agora este erro &#8221; [Fatal Error] PRTeste.dpr(160): File not found: &#8216;FastMM4.dcu&#8217; &#8221;</p>
<p>como faço para acertar isto.</p>
<p>Valeu.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Cesar</title>
		<link>http://www.cesarromero.com.br/2009/acelerando-tclientdataset-com-midas-speed-fix-unit/comment-page-1/#comment-11542</link>
		<dc:creator>Cesar</dc:creator>
		<pubDate>Thu, 22 Jan 2009 17:30:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.cesarromero.com.br/?p=479#comment-11542</guid>
		<description>Otoni, 

Só adicione ao projeto, um exemplo de um .dpr a seguir:
&lt;pre&gt;
program Program1;

uses
  FastMM4,
  Forms,
  MidasLib,
  MidasSpeedFix in &#039;..\..\..\..\Components\Utils\MidasSpeedFix.pas&#039;,
  ThemedDBGrid in &#039;..\..\..\..\Components\Utils\ThemedDBGrid.pas,
  FMainForm in &#039;FMainForm.pas&#039; {MainForm};

begin
  Application.Initialize;
  ReportMemoryLeaksOnShutdown:= True;
  Application.CreateForm(TMainForm, MainForm);
  Application.Run;
end.

&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>Otoni, </p>
<p>Só adicione ao projeto, um exemplo de um .dpr a seguir:</p>
<pre>
program Program1;

uses
  FastMM4,
  Forms,
  MidasLib,
  MidasSpeedFix in '..\..\..\..\Components\Utils\MidasSpeedFix.pas',
  ThemedDBGrid in '..\..\..\..\Components\Utils\ThemedDBGrid.pas,
  FMainForm in 'FMainForm.pas' {MainForm};

begin
  Application.Initialize;
  ReportMemoryLeaksOnShutdown:= True;
  Application.CreateForm(TMainForm, MainForm);
  Application.Run;
end.
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Otoni</title>
		<link>http://www.cesarromero.com.br/2009/acelerando-tclientdataset-com-midas-speed-fix-unit/comment-page-1/#comment-11541</link>
		<dc:creator>Otoni</dc:creator>
		<pubDate>Thu, 22 Jan 2009 16:20:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.cesarromero.com.br/?p=479#comment-11541</guid>
		<description>Cesar,

Voce poderia passar um passo a passo de como instalar esta unit no projeto.

Valeu.</description>
		<content:encoded><![CDATA[<p>Cesar,</p>
<p>Voce poderia passar um passo a passo de como instalar esta unit no projeto.</p>
<p>Valeu.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Cesar</title>
		<link>http://www.cesarromero.com.br/2009/acelerando-tclientdataset-com-midas-speed-fix-unit/comment-page-1/#comment-11536</link>
		<dc:creator>Cesar</dc:creator>
		<pubDate>Thu, 22 Jan 2009 01:55:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.cesarromero.com.br/?p=479#comment-11536</guid>
		<description>Murilo,

Não tem perigo de ter problemas com anti-virus.
Patch em memória é algo comum na VCL, porque o código é feito dentro do contexto da aplicação seja através da MidasLib ou da Midas.dll. Diferente de escrever um programa que vai alterar outro.
Note que no caso da MidasLib, tudo vai ser parte do mesmo programa, e na Midas.dll, o executável que carregou a Midas.dll é quem vai fazer o patch.</description>
		<content:encoded><![CDATA[<p>Murilo,</p>
<p>Não tem perigo de ter problemas com anti-virus.<br />
Patch em memória é algo comum na VCL, porque o código é feito dentro do contexto da aplicação seja através da MidasLib ou da Midas.dll. Diferente de escrever um programa que vai alterar outro.<br />
Note que no caso da MidasLib, tudo vai ser parte do mesmo programa, e na Midas.dll, o executável que carregou a Midas.dll é quem vai fazer o patch.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
