PDA

Ver la Versión Completa : Corrupt Memo/BLOB file. Table: C:\tabla.mb


Adrix
18-08-2003, 01:46:54
Hola, tengo el siguiente problema: estoy trabajando con una tabla Paradox y al querer guardar el contenido de un TMemo en un campo tipo Memo size 240 me salta el error "Corrupt Memo/BLOB file. Table: C:\tabla.mb" si es muy largo el string, pero si pongo solo algunas lineas no pasa nada.
¿Por que se produce este error y que puedo hacer para solucionarlo?. Gracias!...

jhonny
19-08-2003, 16:02:14
De que forma tratas de guardarlo?

Utiliza la siguiente forma y nos comentas tus resultados;)

Campoparadox.AsBlob := Memo.Text;

Espero te sirva.

Adrix
19-08-2003, 20:33:05
Mira, estube probando, pero no me deja hacer CampoParadox.AsBlob . En realidad lo que hago es

Table1.FieldByName('Nombre_Campo').AsBlob ,

y al compiarlo no me lo reconoce (me dice "undeclared identifier 'asBlob' ") . No se si hay otra forma de referirse al campo de la tabla, yo la que conocia era esa...

La forma que usaba, y que me daba el error, era

Table1.FieldByName('Nombre_Campo').AsString:= Memo1.Lines.Text;

o tambien ingresando el texto en un TDBMemo, pero igual me daba error al hacer el post de la tabla.

No se si servira de mucho este dato, pero trabajo con delphi 6. Y otra cosa, el texto que estoy tratando de guardar en la tabla es codigo HTML, no se si tendra algo que ver...

Muten
31-08-2003, 13:27:10
Me parece q el fallo está en lo de 'Memo1.Lines.Text', creo q un objeto TString sólo puede tener como longitud máxima 235 caracteres, o algo así me pareció leer una vez.. compruébalo.

Salu2

Adrix
22-09-2003, 00:04:27
Bueno, gracias por tratar de ayudarme, al final encontre como solucionar el error, por si alguien tiene el mismo problema, con esto anda bien (aunque puede que halla una solucion mas sencilla):



var bs: TBlobStream;
...

bs:= TStringStream.Create(AAdjuntos.Items.Text);
try
TBlobField(FieldByName('Adjuntos')).LoadFromStream(bs);
finally
bs.Free;
end;
...



Ahora no recuerdo bien de donde saque la respuesta, porque hace rato que la habia encontrado y me olvide de postearla en ese momento, perdon. Gracias igual!.

Adri.

sanxpue
01-10-2003, 19:33:21
en realidad ese problema lo tuve yo cuando estana usando delphi 1 imaginense... jejeje

la solucion es

Tabla.FieldByName('campo_mem').Assign(Memo1.Lines); y para
subirlo
Memo1.Lines.Assign(Tabla.FieldByName('campo_mem'));