Problema com arquivo DFM em versões anteriores do Delphi

Delphi

10/04/2004

Galera...

O sistema foi dsenvolvido no Delphi 7. Mas por um problema de legalidade do Delphi vou ter que transferir tudo pro Delphi 4. Como posso converter os arquivos DFM para o padrão do Delphi 4 para poder pelo menos abrir os formulários? Pois o resto vai braçal mesmo

Obrigado...


Hell_gentleman

Hell_gentleman

Curtidas 0

Respostas

Edilcimar

Edilcimar

10/04/2004

De baixo para cima dá, a situação inversa não, infelizmente você perdeu quase tudo, a única coisa que vc pode salvar são os .pas, ou seja o código, quanto aos forms você dançou um tango quando estava tocando um samba


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

10/04/2004

Colega,

Acho que a alternativa vai ser: Ler os arquisos DFM, converter para texto e descarregar sobre o Delphi 4 para que o mesmo faça a reconstrução. Esta é a forma que considero mais rápida de resolver, mas você pode estar avaliando a possibilidade de escrever uma aplicação para efetuar esta conversão.

function DFMToList(const ADfmFile: string; AList: TStrings): boolean;
var
  dfmStream: TMemoryStream;
  txtStream: TMemoryStream;
begin
  Result := True;

  dfmStream := TMemoryStream.Create;
  txtStream := TMemoryStream.Create;
  try
    try
      dfmStream.LoadFromFile(ADfmFile);
      ObjectResourceToText(dfmStream, txtStream); { Faz a conversão para texto }
      txtStream.Position := 0;
      AList.LoadFromStream(txtStream); { Preenche AList }
    except
      on EStreamError do Result := False;
      on EAccessViolation do result := False;
    end;
  finally
    dfmStream.Free;
    txtStream.Free;
  end;
end;


Entretanto, conforme já foi mencionado, em face da existência de componentes no Delphi7 que não existem no Delphi4, as possibilidades de sucesso são bem reduzidas.
Boa sorte!


GOSTEI 0
POSTAR