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

Вниз

TMemoField.Text и присвоение строки String   Найти похожие ветки 

 
frost ©   (2003-08-21 10:40) [0]

Пытаюсь написать TMemoField(.."МЕМО".).Text:=Str где Str - строка
типа string, компилирую пытаюсь присвоить, ошибка! Пишу
..."MEMO").AsString:=Str все нормально, поле Memo имеет тип TMemoField, почему тогда я немогу присвоить свойству TEXT обычную строку и мне надо преобразовывать поле в String.


 
Vlad ©   (2003-08-21 10:53) [1]

А что у тебя в скобках, если не секрет ?
У меня твой пример компилируется нормально.


 
sniknik ©   (2003-08-21 11:07) [2]

Vlad © (21.08.03 10:53) [1]
не может быть! у меня дало ошибку на "..". :о))

> почему тогда я немогу присвоить свойству TEXT обычную строку и мне надо преобразовывать поле в String
а что значит "обычная строка" и чем String необычна?

думаю причина именно в "обычной строке" и в точечках в коде.


 
Vlad ©   (2003-08-21 11:18) [3]

Вобще действительно, а чем тебя AsString не устраивает ?
>>и мне надо преобразовывать поле в String.
AsString НЕ преобразовывает поле. Это проперть TField"а.
Так что смело пользуйся.


 
frost ©   (2003-08-21 13:47) [4]

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

tbCategory.FieldByName("KeyWord").AsString:=slText.Strings[integer(tvC ategory.Items[i].Data)];
tbCategory - TADOTable
KeyWord - поле TMemoField
slText - TStringList
tvCategory - TTreeView


 
sniknik ©   (2003-08-21 13:58) [5]

tvCategory - TTreeView - Items[i].Data - тип указатель (Pointer) приведенный к интеджеру может быть очччеень большим, уверен что у тебя есть столько строк в списке? или он полезет в недоступную память? (что вероятнее).


 
Vlad ©   (2003-08-21 14:46) [6]

Надо не к integer преобразовывать, а к тому типу, ссылку на который ты в TreeView хранишь


 
frost ©   (2003-08-21 17:21) [7]

Почему не integer, в чем сдесь проблема? Я храню указатель на номер строки в TStringList можно конечно и на саму строку но так как я делаю удобней (для моей задачи).
sniknik - "...тип указатель (Pointer) приведенный к интеджеру может быть очччеень большим.." - непонял о чем идет речь? Если речь идет о кол-ве строк TStringList.Count то при использовании
integer(tvC ategory.Items[i].Data) - я это число проверяю на больше меньше TStringList.Count.


 
sniknik ©   (2003-08-21 17:34) [8]

> - непонял о чем идет речь?

для наглядности

var p: pointer;
i: integer;
begin
i:= 10;
p:= @i;
Label1.Caption:= inttostr(integer(p)); //что вернет? а ведь это твой вариант тип поинтер указатель на интеджер
Label2.Caption:= inttostr(integer(p^));
end;


 
Zelius ©   (2003-08-21 17:50) [9]


> frost © (21.08.03 13:47) [4]

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



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

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

Наверх




Память: 0.49 MB
Время: 0.018 c
1-33538
konst
2003-08-29 12:11
2003.09.11
MDI формы. Как отобразить дочернюю форму, и какие события


14-33798
Opera
2003-08-22 15:05
2003.09.11
Massiv


4-33852
Th
2003-07-08 11:00
2003.09.11
Искусственный вызов Window Menu приложения


1-33602
pasha_golub
2003-09-01 15:20
2003.09.11
Вывод текста на грид


7-33830
Эдик Дятлов
2003-06-28 08:33
2003.09.11
Как уменьшить рабочую область Винды