|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Как провернуть одну штуку с Pointer'ом и классом?
Помогите заставить работать примерно следующий код:
Код:
procedure TFormMain.FormCreate(Sender: TObject); var p: Pointer; ps: ^string; begin p := @FormMain.Caption; { TODO : Тут делаем всякие ужасные непотребства и т.д. } ps := p; FormMain.Caption := ps^; end; То что не получается сотворить - отмечено жирным и вызывает ошибку: [DCC Error] UnitMain.pas(46): E2036 Variable required Где я косячу? 00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110 |
#2
|
|||
|
|||
Код:
var p: Pointer; ps: string; begin p := Pointer(Form1.Caption); { TODO : Тут делаем всякие ужасные непотребства и т.д. } ps := String(p); Form1.Caption := ps + 'COOL'; |
#3
|
||||
|
||||
Zorkov Igor,
Спасибо. Отлично работает! 00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110 |
#4
|
||||
|
||||
Поторопился я. Конечно так оно будет работать. Никак нельзя писать прямо по адресу FormMain.Caption?
Пробовал такое: Код:
var p: Pointer; ps: ^string; begin p := Pointer(FormMain.Caption); { TODO : Тут делаем всякие ужасные непотребства и т.д. } ps := p; ps^ := ps^ + 'COOL'; end; Может кто знает как сделать что-то подобное? Только, чтобы работало. 00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110 Последний раз редактировалось ~TB~, 26.01.2012 в 18:33. |
#5
|
|||
|
|||
http://www.delphisources.ru/forum/sh...ad.php?t=17828
у меня это бы выглядело так PHP код:
Последний раз редактировалось Pyro, 29.08.2012 в 14:11. |
Этот пользователь сказал Спасибо Pyro за это полезное сообщение: | ||
~TB~ (27.01.2012)
|
#6
|
||||
|
||||
Спасибо! Именно то, что нужно.
00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110 |