Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
указатели . . .
|
|||
|---|---|---|---|
|
#18+
как можно объявить указатель на TCheckBox.Checked ? пишу var pChecked: ^boolean; begin pChecked:=@cbOnLine.Checked; неработает, объявить указатель на TCheckBox.Checked тоже неполучается вразумите плиз ламера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2003, 10:37 |
|
||
|
указатели . . .
|
|||
|---|---|---|---|
|
#18+
начнем с того что адрес таким способом не получишь... а потом, зачем тебе указатель на логический тип? и тем более на свойство класса? есть конечно варианты... хотя я не уверен что они отработают, ты лучше скажи зачем? может есть лучше способ решить твою проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2003, 11:01 |
|
||
|
указатели . . .
|
|||
|---|---|---|---|
|
#18+
Может, разумнее использовать указатель на класс. var pChecked: TCheckBox; begin pChecked:= cbOnLine; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2003, 11:28 |
|
||
|
указатели . . .
|
|||
|---|---|---|---|
|
#18+
а смысл? разве переменная класса не есть суть указатель? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2003, 11:31 |
|
||
|
указатели . . .
|
|||
|---|---|---|---|
|
#18+
Теоритически (принципиально) - свойство класса (и конкретного объекта) не имеет адреса, поэтому замысел не осуществим (практически...), адреса могут иметь обеспечивающее это свойство поля и методы, которые также могут быть недосягаемыми (private), в любом случае до их указателей добраться непросто. Самый лучший вариант - объяснить проблему с целью изменить решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2003, 11:34 |
|
||
|
указатели . . .
|
|||
|---|---|---|---|
|
#18+
собственно чего я хотел добиться: есть форма с опциями программы сейчас чтоб загружать/сохранять настройки проги у меня создан рекорд с из всех пропертей, из него идет запись на диск и чтение в него а затем каждыйй раз при изменении рекорда нужно все эти опции раскидывать по форме, а перед сохранением - собирать с формы . . . я хотел создать что-нить вроде рекорда каждый элемент которого есть указатель на опцию - тогда можно сразу читать из опции и записывать туда может я как-то нетак объяснил, надеюсь меня поймут хотя вот zDIV писал что " адреса могут иметь обеспечивающее это свойство поля и методы, которые также могут быть недосягаемыми (private), в любом случае до их указателей добраться непросто" т.е. невозможно просто прочитать состояние CheckBox-a по указателю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 07:31 |
|
||
|
указатели . . .
|
|||
|---|---|---|---|
|
#18+
в библиотеке RxLib есть компонент, который все это делает TFormStorage Юзай и наслаждайся. Блевотека так себе, глючат компоненты для БД в dll-ках, но этот клас работает безубойно. При том что писать он может какк в файл так и в реестр, а метод работы с ним не меняется. Шикарно вобщем. а так... если надо адреса свойств, покопай в направлении MethodAddress у класса TObject, наследником которого являются все компонены дельфяка. У него очень любопытные методы есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 08:11 |
|
||
|
указатели . . .
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. приблизительно так описано большинство таких вещей, как TCombobox.Checked вопрос. На что ты пытаешься получить указатель?!! Если при попытке считать - вызывается одна процедура, записать - другая. указатель имеет значение только на FMySuperField, но до него добраться - убиться можно, т.к. он, помимо всего прочего, может быть не в этом классе, а у одного из родителей объявлен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 08:36 |
|
||
|
указатели . . .
|
|||
|---|---|---|---|
|
#18+
Luchkin Dmitry но это работает как-то :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 09:26 |
|
||
|
указатели . . .
|
|||
|---|---|---|---|
|
#18+
Во-первых, само свойство Checked, насколько я понимаю, не хранится в классе TCheckBox, а считывается из интерфейсного элемента WinAPI. Потому там и функции Getxxx и Setxxx. Во-вторых, если речь идёт о работе с компонентами формы, то не факт, что указаетль будет всё время один и тот же. В-третьих, я не совсем понял каким образом вы собираетесь сразу собирать все значения из записи через указатели? И что мешает вместо присвоения указателей написать собственно присвоение значений? Ведь в случае с указетелем всё равно не получится записать всю запись как один объект, а придётся писать отдельную строку для каждого поля записи. Кстати, тем способом, который предполагалось использовать, насколько я понимаю, результат не достигается даже в случае, если указатели доступны. Вы получите в файле значения указетелей, а не значения переменных. В результате после считывания и попытки обращения по указателю программа скорее всего выдаст ошибку о недопустимом адресе, поскольку не факт, что указатели будут те же самые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 11:56 |
|
||
|
указатели . . .
|
|||
|---|---|---|---|
|
#18+
А еще посмотри в VCL sources TReader, много полезного узнаешь :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 15:36 |
|
||
|
указатели . . .
|
|||
|---|---|---|---|
|
#18+
to All : спасибо за консультацию . . . to Mik Prokoshin : я что-то ненашел TReader в VCL sources - там много ссылок на объект, но описания его нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 07:42 |
|
||
|
указатели . . .
|
|||
|---|---|---|---|
|
#18+
TReader не совсем в VCL: SOURCES\RTL\COMMON\CLASSES.PAS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 09:00 |
|
||
|
указатели . . .
|
|||
|---|---|---|---|
|
#18+
Можешь ещё пробежаться по всем TControl ам на форме и, в зависимости от их типа, сохранить соответствующие Property и, скажем, в TStringList для последующиго сохранения в файл: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. [i]Изящно и довольно универсально , возможно, не очень быстро, но не миллион же у Тебя Control ов на форме. Аналогично можно пихать и в Реестр, но для себя Я разработал класс, свойства которого автоматически сохраняются в Реестр в почётном (иерархическом) виде и использую переменную этого класса для хранения всех пераметров программы - немного коряво эти свойства описывать, зато потом никаких проблем. Там используется RTTI потомка TPersistent . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 14:08 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32246950&tid=2117129]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 387ms |

| 0 / 0 |
