Fórum Problema com arquivo DFM em versões anteriores do Delphi #225173
10/04/2004
0
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...
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
Curtir tópico
+ 0
Responder
Posts
10/04/2004
Edilcimar
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
Responder
Gostei + 0
10/04/2004
Aroldo Zanela
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.
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!
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!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)