Ошибка неверного параметра с TClientdataset - PullRequest
4 голосов
/ 01 февраля 2009

Какова причина получения «ошибки неверного параметра» при вызове метода CreateDataSet в компоненте TClientDataSet. Что вызывает эту ошибку.

Ответы [ 4 ]

6 голосов
/ 16 ноября 2011

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

4 голосов
/ 01 февраля 2009

Riaan,

вы используете поля ftGuid? Если это так, вы должны вручную установить размер поля 38.

С уважением, Ливны

2 голосов
/ 11 июля 2009

Ливен правильно заметил, что некоторые TFields имеют разные потребности в отношении своих свойств, прежде чем можно будет создать ClientDataSet, с которым они связаны (используя CreateDataSet). Но поле TGuid не единственное.

Если у вас возникли проблемы с определением того, какие поля вызывают проблему, закомментируйте все типы полей, кроме одного, например TStringField, и затем попытайтесь создать ClientDataSet. Если первая группа не вызывает проблем, переходите к следующей. Это может быть просто поле BDC (двоичное кодированное десятичное число) или что-то более экзотическое.

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

Кроме того, это также может быть связано с неверным параметром в TIndexDef. Например, экземпляры TIndexDef не поддерживают индексы ixExpression, хотя редактор коллекций IndexDef позволяет вам установить этот параметр.

Удачи ...

1 голос
/ 13 ноября 2009

У меня были те же проблемы, не было никакой видимой причины ... а потом я обнаружил это случайно. Переключиться в режим просмотра текста и вернуться в режим просмотра форм в конструкторе форм (alt + f10) Теперь попробуйте сделать это снова. У меня это сработало несколько раз. Я думаю, что ошибка вызывает, и с воссозданием компонентов это уходит ..

...