Enviado: 05 Out 2007 15:29
o xHarbour não é totalmente compativel com o clipper, seria até pedir de mais neh !!! hehehe...fazer o que alguma coisa tem que ser alterada mesmo !!! um dia chega lah !!!
Em homenagem a Paulo Cesar Toledo
https://pctoledo.org/
Eu não uso MEM nem a pau, mas pelo que lembro, o RESTORE apaga todas as variáveis públicas e privadas, a menos que se use a cláusula ADDITIVE.Em clipper, as variáveis com os tipos Array, Objeto, CodeBlock são ignoradas pelas instruções Save/Restore from .MEM conforme esperado, ou seja, nada ocorre com elas antes ou depois das instruções Save / Restore from, o mesmo deveria ocorrer em xHarbour, porém ele esta destruindo as variáveis, causando um enorme problema no sistema.
Não é. No que pese o princípio da retro-compatibilidade de *quase* 100%, isso é um bug bem feio. Deveria ser tratado com prioridade.o xHarbour não é totalmente compativel com o clipper, seria até pedir de mais neh !!!
Concordo.Maligno escreveu:Não é. No que pese o princípio da retro-compatibilidade de *quase* 100%, isso é um bug bem feio. Deveria ser tratado com prioridade.o xHarbour não é totalmente compativel com o clipper, seria até pedir de mais neh !!!
Não testei, mas pelo comentário do Éric, só pode ser. Um RESTORE não pode destruir uma variável local que reside em outra função. Observe: a variável GetList, de escopo local, não está na função onde RESTORE é executado. Ainda assim, GetList é destruída. Uma ação fora de escopo.Se é que é um bug mesmo.
Não me ative atentamente ao seu código, Éric. Por isso, acho que me precipitei. No seu código de teste a variável GetList é local para Main(). Ao ser executada a função ArqMem(), GetList fica invisível, claro. Então nesta função, GetList não é destruída. Ou é? Mas você não testou se em Main() a GetList ainda existe, testou? Nota: não uso xHarbour e por isso não testei e nem vou testar.ericmagaldi escreveu:O exemplo abaixo é com GetList, mas acontecerá com todas as outras variáveis públicas/privadas do tipo citado.
Sem problema.Sugiro-lhe que aguarde mais um pouco, até obtivermos alguma novidade sobre o assunto.