Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

Поле типа Memo - при больших объемах ошибка!   Найти похожие ветки 

 
Fishka   (2004-11-19 12:36) [0]

Заказчики стали работать с программой и вводить текстовую информацию. Из документа, созданного в Word-е, пытались копировать текст и сохранять. Примерно листов 8 сохраняется без проблем, а вот при большем объеме ничего не сохраняется и вываливается ошибка, где посылают по адресу... У заказчиков Pentium 1 и памяти 32 Мб.
Что мне делать? Что и как исправлять? Реально до 25 листов документа надо держать в поле dbf-файла.


 
ЮЮ ©   (2004-11-19 12:44) [1]

>У заказчиков Pentium 1 и памяти 32 Мб

а у Memo - только 32K. Вот такая несправедливость. Попробуй RichEdit вмест Мемо


 
MORA   (2004-11-19 12:54) [2]

>>[1]
Это у компонента Мемо 32К. А у поля, насколько я знаю,неограничено (по крайней мере, если верить хелпу).
Может, ты используешь Мемо, у к-рого 32К, дык понятно происхождение ошибки. Используй другой компонент, например [1]


 
MORA   (2004-11-19 13:23) [3]

я так подумал ,а может твои юзверя копируют не только текст, но и графику или другие элементы ,а при вставке и происходит ошибка...


 
Fishka   (2004-11-22 08:52) [4]

В компоненте Мемо при копировании виден весь текст. А вот при попытке сохранить в dbf-файл вываливается ошибка.
Мне кажется, что проблема в dbf-файле, и замена Мемо на RichEdit ничего не даст.
MORA   (19.11.04 13:23) [3]
Вроде как копируется текст, но там разные шрифты, выделение жирным....... Может, это и есть графика и т.п., и может,Вы и правы. А мне-то что делать???


 
janb   (2004-11-22 09:06) [5]

Fishka   (22.11.04 08:52) [4]  если думаешь что все дело в базе то может на другой базе попробуешь
на аксесовской например


 
Fishka   (2004-11-22 09:30) [6]

1. У меня почти нет опыта работы с Аксессом. Аксесс нормально работает на таких слабых машинах? Аксесс стабильно работает?
Коннектиться через ADO? А если не будут устанавливаться драйвера?
2. Эта программа довольно большая, и переделка займет много времени. Порядка 40 справочников, не считая вводимых пользователями данных.
Хотелось бы остаться на dbf.


 
ocean   (2004-11-22 09:56) [7]

Я, например, так и не понял: речь о поле Memo, а не компоненте VCL. Что же там на экране? DBMemo или Grid? Думаю, что без VCL тут все же не обходится
Так что предлагаю показать на экране более подходящий визуальный элемент, тот же RichEdit (не знаю, действительно ли он не имеет ограничений), а сохранял в базу самостоятельно.


 
Fishka   (2004-11-22 10:18) [8]

На экране Memo (не DBMEMO), который надо сохранить в поле типа Memo dbf-файла. И при больших объемах меня посылают по адресу...
Вопрос: как избежать этой ошибки?


 
janb   (2004-11-22 10:27) [9]

1. Фишка с акссесом я сам тоже не работал :( просто слышал что она стабильнее некоторых баз даных

2. а как ты сохраняешь в базу
может из-за этого он тебя ... может тебе реализовать это по другому?


 
Fishka   (2004-11-22 10:47) [10]

Coхраняю: insert into .....
и список полей, в т.ч.
Query1.SQL.Add(QuotedStr(Memo.Text));

Мысль хорошая: попробовать по-другому сохранять.
А конкретнее? Edit+Post? Потоком?


 
ocean   (2004-11-22 11:21) [11]


> На экране Memo (не DBMEMO)


Смотрю HELP по TMemo: ограничение 64 К. Все же предлагаю подумать о другом визуальном элементе. Можно сделать кнопку с чем-то вроде:
Fields[...].AsString := Clipboard.AsText;


 
sniknik ©   (2004-11-22 11:29) [12]

кроме ограничений
> Fishka   (22.11.04 10:47) [10]

> Coхраняю: insert into .....
> и список полей, в т.ч.
> Query1.SQL.Add(QuotedStr(Memo.Text));

ну допустим из этого понятно как на самом деле ты сохраняеш (аткрывающую/закрывающую скобки допустим ранее/позднее внес)
но что будет если в тексте встречается кавычка? (что при большом обьеме очень вероятно)
например в Memo.Text коротеоткий текст "это кавычка " правда?"
в запросе поимеем (допустим одно поле вносится)
insert into ..... ..... ("это кавычка " правда?")
(или везде такая ")
как думаеш сработает? а если базу поменять?

> попробовать по-другому сохранять.
параметр.


 
janb   (2004-11-22 11:52) [13]

Ты возьми свою прогу и протестируй сам на эти самые кавычки скобки и т.д. с малом текстом большим текстом и т.д. Можеть тебе удастся найти ошибку


 
YurikGL ©   (2004-11-22 12:44) [14]

Советую копировать не через буфер а подсоединяться через ole

далее что-то типа

vr1,vr2:olevariant;

vr1:=1;
vr2:=WordApplication1.ActiveDocument.Characters.Count;
dataset.fieldbyname("поле memo").value:=WordApplication1.ActiveDocument.Range(vr1,vr2).Text;



Страницы: 1 вся ветка

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.064 c
1-1101996630
the_ram
2004-12-02 17:10
2004.12.19
Путь к файлу


14-1101583996
Verg
2004-11-27 22:33
2004.12.19
За что бывает обидно


9-1082122366
Wiz@rd
2004-04-16 17:32
2004.12.19
Нифига себе игрушка


3-1100675438
Дырчик
2004-11-17 10:10
2004.12.19
Поле типа дата


3-1100687772
Chery
2004-11-17 13:36
2004.12.19
Нет конекта через службу Borland Socket Server.