![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Gnusss |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 190 Регистрация: 19.1.2005 Репутация: нет Всего: нет |
Привет всем!
Например есть у меня процедура подобная этой:
Но в процедуре Fun Val всегда "(No value)". Почему? Я вообще не понимаю. Заранее спасибо за ответ! Присоединённый файл ( Кол-во скачиваний: 9 )
Fun.JPG |
||||
|
|||||
| SPrograMMer |
|
||||||
![]() Спамер :) ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 5.11.2004 Где: Краснодар Репутация: 2 Всего: 6 |
Gnusss
должно быть
-------------------- животное = зверь законченный гентушник |
||||||
|
|||||||
| Gnusss |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 190 Регистрация: 19.1.2005 Репутация: нет Всего: нет |
to SPrograMMer
неа у меня все равно "(No value)" |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Ну так отладчик же не знает тип этой переменной, что он тебе отображать должен? Нажми Ctrl+F7, напиши там "PChar(@Val)" и любуйся. Это сообщение отредактировал(а) Fantasist - 20.5.2005, 23:36 -------------------- Волны гасят ветер... |
|||
|
||||
| Rouse_ |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 5 Всего: 29 |
Занимательно... У нас за такое сразу увольняют.
Видимо ты забыл про банальное приведение типов. Вот смотри сюда:
А теперь вопрос, каким макаром ты хочешь реальзовать правильное выполнение своей процедуры без обязательной передачи указателя типа данных? |
||||||
|
|||||||
| Gnusss |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 190 Регистрация: 19.1.2005 Репутация: нет Всего: нет |
Таким же как работает Write у Stream и SendBuffer у TIdUDPClient. И к тому же в процедуру я передаю РАЗНЫЕ(!) структуры типа TRecord. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Я бы также сделал, если бы знал, что в параметре передаётся строковая константа... -------------------- С уважением, г-н Посол. |
|||
|
||||
| помогите |
|
|||
|
Unregistered |
Ну люди. проблема же еще не рашина.
|
|||
|
||||
| Fantasist |
|
||||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Че, за польлзование отладчиком у вас увольняют? Не, я к вам работать не пойду.
Почему? -------------------- Волны гасят ветер... |
||||
|
|||||
| Гость_Gnusss |
|
|||
|
Unregistered |
Ну, потому - что моя процедура все еще не работает. У меня в эту процедуру передаются разные структуры типа TRecord. Как я эту могу ему указать? |
|||
|
||||
| Fantasist |
|
||||||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Ну так а в чем заключается ее "не работает"? Ту процедуру что ты привел вообще никаких результатов видимых не оставляет (пишишь что-то в память и освобождаешь сразу же). Почему отладчик "no value" показывает уже объяснили. Единственно что не будет работать это SizeOf(Val) - тип Val неизвестен, по этому SizeOf будет всегда возвращать 0.
Вот так:
-------------------- Волны гасят ветер... |
||||||
|
|||||||
| Gnusss |
|
||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 190 Регистрация: 19.1.2005 Репутация: нет Всего: нет |
Вобщето это процежура для примера, в реальном приложении у меня другая.
Ну это я понял.
Неа, или ты мне предлагаеш вместо TRecord написать тип моих структур? Тогда у меня в приложении будет где-то 15+ почти одинаковых(только каждая под свою структуру) процедур. Это сообщение отредактировал(а) Gnusss - 22.5.2005, 22:22 |
||||||||
|
|||||||||
| SPrograMMer |
|
|||
![]() Спамер :) ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 5.11.2004 Где: Краснодар Репутация: 2 Всего: 6 |
ну тада прямой путь к ООП, написать "класс" родитель, а отнего клепать производные, Тип параметра в самой подпрограмме будет родительский "класс" в кавычках, потому как я поонимаю он просто будетсодержать ТОЛЬКО данные <=> записи, но с расширенными возможностями! -------------------- животное = зверь законченный гентушник |
|||
|
||||
| Gnusss |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 190 Регистрация: 19.1.2005 Репутация: нет Всего: нет |
Меня осенило!!!
Я все думал почему Write у Stream работает, а у меня вроде тоже самое а не работает. И вдруг меня осенило Второй параметр у Write это размер(!), и я понял что надо передавать в процедуру еще и размер. Изменив процедуру, у меня все заработало(!). Ура товарищи И не пришлось создавать много одинаковых процедур и прибегать а ООП. Всем спасибо! Тема закрыта! |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Gnusss Хорошо, но в следующий раз постарайся вопрос формулировать так, чтобы и нам было понятно, что тебе нужно, если конечно хочешь ответ на свой вопрос получить, а не на какие-то другие, как здесь и случилось.
-------------------- Волны гасят ветер... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |