FDMemTable теряет информацию FieldDefs, когда AutoIn c Поле в Delphi - PullRequest
0 голосов
/ 21 января 2020

Я создаю таблицу памяти TFDMemTable для формы delphi и определяю поля в FieldDefs. После того, как я закончил с определением полей вручную, я go в Редакторе полей, чтобы добавить поля, которые я только что определил.

Все работает идеально, пока у меня нет поля типа AutoIn c в моем FDMemTable. Я использую Delphi 10.3.2 версию, и мне было интересно, если я что-то упустил или это ошибка IDE.

PS: я сделал пару тестов, и я думаю, что если AutoIn c поле не определено как последнее поле, все исчезает. Я не уверен на 100% в этом случае, но почти каждый раз, когда я пытаюсь потерять поля в FieldDefs.

Вот шаги:

  • Поместите значок FDMemTable
  • Открыть окно FieldDefs
  • Создать группу полей (строка, целое число ...)
  • определить имена, типы (и размеры для строк)
  • Открыть FieldsEditor
  • Добавить поля

до тех пор, пока здесь все не будет работать как надо.

  • Go вернуться в окно fieldDefs
  • создать и назовите новое поле с помощью autoin c type
  • , откройте экран редактора полей и добавьте последнее добавленное поле.

все еще хорошо до go, пока есть больше никаких изменений в структуре.

Здесь происходит странная вещь, если вы выполните следующее.

  • откройте окно FieldDefs
  • создайте любое поле (скажем, целочисленный тип )
  • Go в окне редактора полей, чтобы добавить это последнее созданное поле.
  • и вы увидим, что вы не видите этого нового поля для добавления.
  • когда вы go вернетесь в окно fieldDefs, чтобы увидеть, почему оно не отображается,
  • вы увидите все предыдущие и последние добавлены определения полей: ..

Для того, чтобы я go обошел эту проблему, я открываю форму в текстовом виде и вставляю новое поле прямо перед последним полем, которое является autoin * 1067. *,

добавить запись редактора полей вручную в текстовой форме,

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

...