Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi

Модерирует : ShIvADeSt

ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

krast

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
OdesitVadim

Цитата:
только не в этом случае.

если ты так следишь шобы не было геморроя в коде, то повторяю еще раз - глобальных переменных у тебя быть не должно.
 

Цитата:
давайте писать нормальные названия. на форуме по операционным системам за такое можно получить от модератора

мы не там, мы здесь. еще - лонгстринг - это нормальное название, ибо я имею в виду как раз длинные строчки, просто строчки - это не всегда одно и тоже что лонгстринг  (не забудь еще о {$H})
 
(зы. в форуме _on-line игры_ вообще модера нет, ну дак что - всем туда равнятся...)
 

Цитата:
то скажу что строки не обнуляются, так как они не число. им обычно присваивается ''.

понятие _обнулить_, оно гораздо шире, чем просто присвоение нуля
 

Цитата:
до интерфейсов мои ручки не доходили, но удаление формы

вишь ли, понятие интерфейса и объекта - это суть разные вещи, а есть еще понятие управляемого времени жизни переменной, или, например, сборка мусора, к объектам в delphi они неприменимы.  
 

Цитата:
Formname.free;Formname:=nil;

есть отличная функция FreeAndNil
 

Цитата:
ПОка не напишеш какого нибудь большого проекта ...

в этом контексте правильнее будет писать _пока не поучавствуешь в каком-нибудь..._

Цитата:
(который будет работать 24/7/365) не поймёш, что надежда на компилятор или утечка одного байта может серёзно всплыть потом.

проблема в том, я уже лет как пять только то и делаю что учавствую в больших проектах
 

Всего записей: 442 | Зарегистр. 15-09-2003 | Отправлено: 17:15 24-05-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
krast

Цитата:
если ты так следишь шобы не было геморроя в коде, то повторяю еще раз - глобальных переменных у тебя быть не должно.

А это причём здесь? Я что говорил об этом?

Цитата:
лонгстринг

это не нормальное. Понапридумываете сленга, а потом разобраться сложно.

Цитата:
не забудь еще о {$H}

плиз, не учи, я не просил.

Цитата:
вишь ли, понятие интерфейса и объекта - это суть разные вещи, а есть еще понятие управляемого времени жизни переменной, или, например, сборка мусора, к объектам в delphi они неприменимы.

Ну и причём здесь это? Мы говорим о более глобальной вещи - инициализации.
Цитата:
есть отличная функция FreeAndNil  

Свои ответы я пишу с расчёта на средный уровень, чтобы потом другие могли учиться и задавали меньше вопросов. А об этой функции я знаю.

Цитата:
проблема в том, я уже лет как пять только то и делаю что учавствую в больших проектах

Видимо только участвуеш. Писать - это другое дело

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 17:33 24-05-2005
krast

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
OdesitVadim
поваторяю с самого начала ты ответил:

Цитата:
а кто чуть выше обнулит a. Надеяться на компилятор не стоит

и это фигня, ибо компилятор обнуляет глобы.
 

Цитата:
это не нормальное. Понапридумываете сленга, а потом разобраться сложно.  

интересно, ты для слов upgrade, underflow итд тож используешь русскоязычные подобия?
 

Цитата:
плиз, не учи, я не просил.  

а оно мне надо, у меня три университетских группы в неделю, которых я учу Delphi, и за это мне денюжку платят...
а имел я виду токо то что строка и длинная строка - это разные вещи и это был ответ на твое:

Цитата:
лонгстринги
 
это о строках ?

нет, это разное, и зависит как раз от {$H} (я имею в виду токо Ansi и Short строки, игнорируя PChar)
 

Цитата:
Ну и причём здесь это? Мы говорим о более глобальной вещи - инициализации.

ну, как первое - ты сам заговорил о free. второе - управляемое время жизни затрагивает и инициализацию самым непоредственным образом...
 

Цитата:
Свои ответы я пишу с расчёта на средный уровень, чтобы потом другие могли учиться и задавали меньше вопросов

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

Всего записей: 442 | Зарегистр. 15-09-2003 | Отправлено: 17:45 24-05-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
krast

Цитата:
upgrade, underflow

в такой форме - гараздо лучше. Именно так - лучше.

Цитата:
а оно мне надо, у меня три университетских группы в неделю, которых я учу Delphi, и за это мне денюжку платят...

Сам три года на кафедре работал. Учил. и не три группы, а много много больше

Цитата:
и это фигня, ибо компилятор обнуляет глобы.

это характерно для конкретного набора компиляторов. Не исключено что в будущем (или в случае хитрооптимизирующего компилятора) это тоже так будет.
Цитата:
Свои ответы я пишу с расчёта на средный уровень, чтобы потом другие могли учиться и задавали меньше вопросов

Но дальше уровень меняется, в зависимости от уровня спрашивающего.

Цитата:
чето вспомнилось - напищи прогу чтобы и идиот понял

А вот это действительно сложно.

Цитата:
короче, забей, человек которые переходит на личности - для меня не существует.

поэтому флеймить я больше не буду. так как это уже флейм. Если не согласен ПМ в помощь.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 18:46 24-05-2005
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите как можна узнать на каком елементе в ListBox я кликнул?
Задача такова : нужно сгенерировать запрос, в котором должно фигурировать название именно того елемента на котором я кликаю.
 
 
Добавлено:
Все, уже не нада, сам нашол.

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 00:24 25-05-2005
KDA

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
krast
Компилятор сам глобы не обнуляет, в лучшем случае, генерит код для этого действа.
И потом, не надо путать заполнение нулями памяти с обнулением переменных. А происходит именно первое

Всего записей: 265 | Зарегистр. 30-12-2001 | Отправлено: 01:10 25-05-2005
krast

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KDA

Цитата:
Компилятор сам глобы не обнуляет, в лучшем случае, генерит код для этого действа.  

читай внимательнее что я пишу:

Цитата:
компилятор генерит код для обнуления глобов  

 

Цитата:
И потом, не надо путать заполнение нулями памяти с обнулением переменных. А происходит именно первое  

блин, еще один...

Всего записей: 442 | Зарегистр. 15-09-2003 | Отправлено: 08:06 25-05-2005
ViktorSila

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Создал потомок от некого компонента. В другом модуле пару обработчиков его событий.  В программе подключил все модули. Но потомок не видит оброботчиков. Мне говорили, что надо создавать экземпляр. Как сделать, чтобы потомок увидел оброботчики?

Всего записей: 54 | Зарегистр. 04-02-2005 | Отправлено: 10:38 25-05-2005
krast

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ViktorSila
давай код где не работает то что сделал, посмотрим

Всего записей: 442 | Зарегистр. 15-09-2003 | Отправлено: 10:42 25-05-2005
ViktorSila

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
krast
Как вообще создать экземпляр?

Всего записей: 54 | Зарегистр. 04-02-2005 | Отправлено: 11:10 25-05-2005
krast

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ViktorSila
экземпляр класса?
test = ttest.create(self)
пойдет?

Всего записей: 442 | Зарегистр. 15-09-2003 | Отправлено: 11:13 25-05-2005
ViktorSila

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
krast
http://www.delphiworld.narod.ru/base/db_controls_no_db.html
Вторая часть статьи.  
И в самом конце написано:  

Цитата:
Для проверки работы можно использовать все тот же небольшой проект, включив в Uses модуль DataSet3 вместо DataSet0, а также модуль MyData, и добавив подключение к нашему экземпляру TMyDataSet определенных в модуле MyData обработчиков событий. Для этого, конечно, потребуется создать экземпляр TMyData.

Как создать экземпляр?

Всего записей: 54 | Зарегистр. 04-02-2005 | Отправлено: 11:14 25-05-2005
krast

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
объясни конкретно что ты хотишь. поможем
 
Добавлено:
ага, увидел, освобожусь, гляну, интересная статья
 
Добавлено:
токо я все равно не понял в чем проблема. в классе TMyData определяешь обрабочики событий, создаешь экземпляр этого класса. Ну и там где тебе нужно их прицепить к события - просто присваивание (главное здесь чтобы эти обработчики были реализованы в классе, ибо указатели на методы - это не просто обычные указатели - это два указателя, одни из которых используется для идентификации неявной переменной Self)
 
а конкретно и применительно к статье, попозже гляну, если надо будет

Всего записей: 442 | Зарегистр. 15-09-2003 | Отправлено: 11:15 25-05-2005 | Исправлено: krast, 11:23 25-05-2005
ViktorSila

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
krast
Как будет время глянь относительно этой статьи. И напиши более детально, что надо сделать.

Всего записей: 54 | Зарегистр. 04-02-2005 | Отправлено: 12:20 25-05-2005
Larry Laffer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Кто-нибудь создавал программу, которая бы могла компилировать независимый запускной файл? Например, есть программа, которой нужно передать картинку и звуковую дорожку, а она создает файл xxxx.exe, который отображает в окне эту картинку и проигрывает звук.
 
Заранее благодарен за ответ...

----------
Save The Planet -- Kill YourSelf!
http://larry.nxt.ru

Всего записей: 604 | Зарегистр. 09-10-2004 | Отправлено: 13:07 25-05-2005
ViktorSila

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
krast

Цитата:
главное здесь чтобы эти обработчики были реализованы в классе, ибо указатели на методы - это не просто обычные указатели - это два указателя, одни из которых используется для идентификации неявной переменной Self

Приведи хоть один пример использования с двумя указателями.

Всего записей: 54 | Зарегистр. 04-02-2005 | Отправлено: 13:13 25-05-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Larry Laffer
Могу дать напутствие, как написать подобную вещь.
1) Пишеш прогу, которая показывает картинку и играет музыку, которые записаны у неё в ресурсах.
2) Делаеш прогу, которая берёт картинки, музыку, сделаную выше прогу (её можно в ресурсы запхать или переименовать с расширением .tpl, набросать в папочку и предлагать как шаблоны) и редактирует в ней ресурсы. Потом сохраняем.
Под NT функции редактирования ресурсов доступны, для 9х прийдётся поискать как это сделать ручками (редактирование структуры PE файла).
 
Вариант б. Чтобы с ресурсами не заморачиваться.
готовиш прогу-шаблон, но данные она считывает с свого конца. Тоесть в конец просто дописывае данные. Правда прийдётся придумать как ресурсы различать. (например первый байт - тип ресурса, след. 4 байта - длина. далее сам ресурс.)Будет работать под всеми системами. Правда некоторым антивирям может не понравиться.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 13:29 25-05-2005
krast

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ViktorSila
сама ссылка на метод реализована как пара указателей - первый на код, второй - указатель на Self. Это видно по TMethod:
 

Цитата:
 TMethod = record
    Code, Data: Pointer;
  end;
 
 
 
это из System модуля. а вот просто ссылка на процудуру (функцию) - это всего лишь указатель.
 
НО... это тебя в принципе не  должнор волновать, я в прошлый раз не дописал свою мыслю, инет пропал, так вот, продолжаем:
 
в классе TMyData определяешь обрабочики событий (методы объекта), создаешь экземпляр этого класса. Ну и там где тебе нужно их прицепить к событиям - просто идет присваивание методов из экземпляра класса TMyData (который ты создал)

Всего записей: 442 | Зарегистр. 15-09-2003 | Отправлено: 14:16 25-05-2005
KDA

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
krast

Цитата:
блин, еще один...

Может, покажешь, как именно выглядит код под винду, обнуляющий глобы?
А то я уже очень давно считал, что нули вылезают на этапе создания секций загрузчиком PE.
И как применим термин "обнулять к глобы" вот к такому? :
 
type
   TTest1 = (tOne = 1, tTwo = 2);
var
   A : TTest1;  
   или
   B : Integer = -1;  

Всего записей: 265 | Зарегистр. 30-12-2001 | Отправлено: 15:03 25-05-2005
krast

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KDA
глобальные переменные стандартных типов обнуляются (integer в 0, boolean в false, строчки в '' - но начет строчек = это совсем другая песня, все строчки обнуляются - глоб или нет - неважно). ты бушь с этим спорить? а как именно - компилятор гонит код (как думал раньше я, хотя для строчек отрабатывает именно компилятор) или
Цитата:
нули вылезают на этапе создания секций загрузчиком PE.  
- это второй вопрос (потестировал примерчики, скорее всего так и есть, интересно было бы это почитать, ссылка не завалялась?). так в чем проблема-то, сам же писал:
Цитата:
генерит код для этого действа

Всего записей: 442 | Зарегистр. 15-09-2003 | Отправлено: 15:26 25-05-2005 | Исправлено: krast, 15:27 25-05-2005
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi
ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru