Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];

Вниз

Редактор TStrings в Design-Time   Найти похожие ветки 

 
mfender ©   (2006-03-11 07:03) [0]


private
 FSQLSelect: TStrings;
 procedure SetSelectQuery(Value: TStrings);
published
 property SQLSelect:TStrings read FSQLSelect write SetSelectQuery;

implementation

procedure SetSelectQuery(Value: TStrings);
begin
 FSQLSelect.Assign(Value);
end;


Уже всю голову сломал... Ну не включается String List Editor. А вместо него - Сannot assign a nil to a TRichEditStrings какой-то...
Как с этим бороться. Уже смотрел, как в других компонентах это делается. Может я чего-то не вижу?


 
Юрий Зотов ©   (2006-03-11 10:10) [1]

1. Покажите конструктор и деструктор.
2. Если в SetSelectQuery передается Value=nil, то так и должно быть. Ассигновать nil действительно нельзя.


 
Loginov Dmitry ©   (2006-03-11 12:49) [2]

1) Почему в реализации вашей функции не указан тип класса?
2) Попробуйте заменить TStrings на TStringList (тогда точно заработает)


 
Гаврила ©   (2006-03-11 13:51) [3]


> Loginov Dmitry ©  

нет.
Весь вопрос в том, что именно было фактически создано (и было ли - похоже, что нет)


 
mfender ©   (2006-03-11 13:55) [4]


 TmfTreeView = class(TTreeView)
 private
   FSQLSelect: TStringList;
 published
   constructor Create(AOwner: TComponent);override;
   property SQLSelect:TStringList read FSQLSelect write SetSelectQuery;
 end;

implementation

constructor TmfTreeView.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
end;

procedure TmfTreeView.SetSelectQuery(Value: TStringList);
begin
 FSQLSelect.Assign(Value);
end;


Вот уже и TStringList попробовал - не помогает.
To Юрий Зотов ©   (11.03.06 10:10) [1]:
Когда я попробовал добавить в конструктор SQLSelect := TStringList.Create; в ответ получил Access Violation. Пробовал добавить туда пустую строку. Тоже не работает...


 
Гаврила ©   (2006-03-11 14:03) [5]


> Когда я попробовал добавить в конструктор SQLSelect :=
> TStringList.Create

FSQLSelect := TStringList.Create;
почему FSQLSelect - в притивном случае ты обращаешься к свойству, то есть вызываеття метод SetSelectQuery
а внутренний объект  FSQLSelect у тебя не создан.
Вообще объекты (а TStrings - это объект) надо создавать и разрушать руками, автоматически это не делается.
(и не забыть разрушить в деструкторе)


 
mfender ©   (2006-03-11 15:23) [6]

Гаврила ©   (11.03.06 14:03) [5]
почему FSQLSelect - в притивном случае ты обращаешься к свойству, то есть вызываеття метод SetSelectQuery


Ну конечно! Как я сразу не догадался!

constructor TmfTreeView.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
 FSQLSelect := TStringList.Create;
end;

procedure TmfTreeView.SetSelectQuery(Value: TStringList);
begin
 if Value = nil then Value.Add("");
 FSQLSelect.Assign(Value);
end;


Так всё работает. Спасибо всем за участие!


 
Loginov Dmitry ©   (2006-03-11 20:04) [7]

А к чему такая проверка, если не секрет?

> if Value = nil then Value.Add("");


 
jack128 ©   (2006-03-11 21:38) [8]

Loginov Dmitry ©   (11.03.06 20:04) [7]
что бы когда nil придет в метод - AV получить.


 
Loginov Dmitry ©   (2006-03-12 10:24) [9]


> что бы когда nil придет в метод - AV получить.


А с чего это вдруг в метод придет nil? Не передавать nil в метод - и все будет в порядке.



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

Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.04 c
15-1141323235
Desdechado
2006-03-02 21:13
2006.03.26
Что-то с форумом...


2-1142343735
ЧиЧиЧи
2006-03-14 16:42
2006.03.26
Запихнуть что-нить в ехе


2-1142267233
Fenix
2006-03-13 19:27
2006.03.26
Динамическое заполнение ListView


15-1141517859
**Сергей**
2006-03-05 03:17
2006.03.26
Знатокам PHP


3-1138874396
AlAnNik
2006-02-02 12:59
2006.03.26
Входной параметр хранимой процедуры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский