|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.02.2018, 14:27 | #1 |
Регистрация: 05.10.2017
Сообщений: 9
|
DBMemo не удается изменить Field.Name
DBMemo - не удается изменить Field.Name
Добрый день! Никак не могу изменить Field.Name у DBMemo программно! Компилятор выдает ошибку. Делфи XE7 os win7 ...на ХЕ5 я это делал без проблем. Мне надо когда меняю таблицу менялось и DataField у DBMemo или вообще отключить за не имением этого поля в соответствие с сменяемой таблицой Таблицы меняются но любые попытки изменить названия DataField вызывает исключение. также не работает FindField пробовал разные методы все мыслимые и не ...не получается, попытка менять название даже с закрытой таблицей также заканчивается с ошибкой, в чем проблема компилятор или ос ? //сокращенно procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode); var s:string; begin ABSTable1.Close; //DBMemo1.Field.Name:=''; //выдает ошибку, на новое значение тоже ABSTable1.TableName:=TreeView1.Sele cted.Text; if ABSTable1.FindField('text')<>nil then // не работает .... ABSTable1.Open; ColumnsHide(DBGrid1); // процедура end; |
07.02.2018, 16:28 | #2 | ||||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
Цитата:
Цитата:
Цитата:
DB...Field это только справочно на какое поле установлено( и работает только для открытого НД) Field.Name кстати тоже только читать можно. установить(задать) какое поле нужно можно так DBMemo1.DataField:=<ИМЯ нужного поля> если конечно же не ошибаюсь в имени свойства (правильное имя смотри в инспекторе объектов)
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 07.02.2018 в 16:39. |
||||
07.02.2018, 17:43 | #3 |
Регистрация: 05.10.2017
Сообщений: 9
|
//DBMemo1.Field.Name:=''
Ошибка Debugger Exception Notification --------------------------- Project MyTest.exe raised exception class $C0000005 with message 'access violation at 0x00770cb6: read of address 0x00000000'. if ABSTable1.FindField('text')<>nil then // не работает Да, действительно...дело в том что у меня основной компьютер временно не доступен из за неисправности и все справочники, примеры и проекты остались там на диске, ну это я и другим методом могу...в цикле например Главное для меня [DBMemo - не удается изменить Field.Name не помню как но на хе5 (в основном компьютере) мне удавалось решить эту проблему DBMemo1.DataField:=<ИМЯ нужного поля> а,если нет этого поля? компилятор выдаст ошибку, как нибудь можно с этим справится? а то придется всем таблицам присвоит если даже не нужен. |
07.02.2018, 17:48 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
DBMemo1.DataField:=<ИМЯ нужного поля> - после открытия датасета
Вообще очистить наверно после сброса DataSource Насчет редактирования Field.Name - сомнительно, что это работает в каких то версиях делфи, не проверял, та что имхо
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
07.02.2018, 21:22 | #5 |
Регистрация: 05.10.2017
Сообщений: 9
|
Аватар и evg_m, спасибо за подсказки.
Получилось! |
08.02.2018, 09:14 | #6 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
DBMemo.DataFiled:=''; 2. после открытия Код:
Код:
программа — запись алгоритма на языке понятном транслятору
|
|
09.02.2018, 09:40 | #7 |
Регистрация: 05.10.2017
Сообщений: 9
|
evg_m, спасибо, я уже сделал...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с dbmemo | Ivan174 | БД в Delphi | 5 | 27.03.2013 17:11 |
DbMemo в Word | ch1pah1 | БД в Delphi | 1 | 13.12.2011 05:09 |
из таблицы в DBmemo | pasapasa | Помощь студентам | 5 | 30.11.2010 15:14 |
DBMemo автоподстановка | John_chek | Компоненты Delphi | 3 | 25.01.2007 13:41 |