Para mi es una diferencia en como xharbour 2 y Harbour 3.2 alamacenan los campos memo.
Si pudieses salvarlos desde tu aplicación con xHarbour 2 a un fichero ascii, por ejemplo, y luego leerlos desde Harbour desde ese fichero externo y volver a guardarlos como memo, de esa manera se corregiría.
Seguro habrá otras formas, pero basicamente consistirían en los mismo (a mi entender), salvarlos a algo que no sea memo, y luego con Harbour leerlos y volver a almacenarlos como memo. Pienso que un fichero ascii podría ser lo más sencillo. Entre registro y registro, sitúa algún caracter (ó caracteres) que te sirvan para delimitar cada uno, incluso podrias anotar el número de registro tambien para luego asegurarte que se leen y se almacenan nuevamente en el orden correcto.
Espero sirva en mi caso los campos memos es para guardar detalles intrínsecos con la mercadería que se entrega y no hay "?" en estos casos.
Ya había hecho de borrar los "?" manualmente en un pedido y luego guardarlo. Al reabrir el pedido me lo mostraba correctamente. Por eso el intento de utilizar strtran
Me parece que no es una forma de guardar distinto los datos de los compiladores, porque tengo otra bases de datos (guardo separado los memos de la base principal en todos los casos) ejemplo clientes.dbf y datocliente.dbf (codigo,memo), y en ellas estan bien .
¿Es posible que en pedidos dejan espacios vacíos antes de escribir algo y eso se rellene con "?" ?
SOLUCIONADO pero no entendido por mi, paso a explicarles
Seguí tratando de ver el comportamiento de los campos memos. Trate de abrir los mismos desde dbwide, y me decía que estaban las dbf en cuestión corruptas, el programa las abría. Entonces hice desde el programa que esta en xharbour un copy to
Ejemplo copy to pedmemo to tempe y luego las renombre
Antes de hacer el copy to la base dbf vieja y la nueva 297455 bytes pero la fpt vieja tenía 6081453 y la nueva 1992053 bytes
indudablemente había problemas en pedmemo.fpt, hice lo mismo con todos los que uso ya que estaban igual. Ahora el programa hecho en harbour lee bien los campos memo. En xharbour me leía bien antes y ahora.
¿Es posible que en xharbour los vaya degradando con el uso? Y no nos damos cuenta ya que igual los abre y los lee correctamente cosa que harbour no lo tolera.
Bueno eso escapa a mis conocimientos pero por ahí andaba Garay.