Перегляньте відео нижче, щоб дізнатися, як встановити наш сайт як веб-програму на головному екрані.
Замітка: This feature may not be available in some browsers.
А все-таки, почему с sharp - 1026, а Java - 675 на моей машине? Что там еще соптимизировать-то?![]()


procedure MyForm.EditOnKeyPresed(...., var Key:char);
begin
Unit_Edit.EditKey(MyForm.Edit; Key);
end;
Появился вопрос к специалистам, точнее нужен совет.
В моем проекте есть два модуля с указателем на объект, один обрабатывает ввод в TEdit(Edit:TEdit; Key:char) и TStringGrid(Str:TStringGrid; Key:char) (вводятся только реал числа, и некоторые исключения), второй удаляет и добавляет строки в TStringGrid (происходит в определенной ARow не теряя при этом данных с остальных ячеек). Так вот в чем вопрос, посоветуйте как будет наиболее оптимально (с учетом использования этих модулей в других проектах, и со временем дальнейшего расширения):
- создание класса;
- создание dll;
- использовать как "модули процедур".
Пока к protected методам классов, от которых происходит наследование данных модулей, не обращаюсь. Кто что может посоветовать?
Использование приблизительно следующее:
Код:procedure MyForm.EditOnKeyPresed(...., var Key:char); begin Unit_Edit.EditKey([SPOILER="MyForm."]Какой *** МyForm. ты уже в методе класса используй его члены?[/SPOILER][SPOILER="Edit"]Для этого у ивента есть Sender[/SPOILER]; Key); end;
Кто ясно мыслит, тот ясно излагает. У тебя все с точностью до наоборот.Какая полемика. Твой пост состоял из бессвязного набора терминов и междометий. Если слабо представляешь себе о чем речь, так и не лезь поперед батьки в пекло.Просто мне не очень интересно развивать полемику и тягаться в знаниях с более опытным, а честно я не представляю к чему ты придрался (если насчет сравнения с ооп, так это абстрактно - технологии то разные), да как то и не важно.
Кто ясно мыслит, тот ясно излагает.

Вот это у меня сейчас. Вынес так, потому что: 1) постоянно и во многих объектах возникает необходимость проверки бизнес правил; 2) для использования данного модуля в дальнейшем.Ну а как временное решение сделать DataModule перенести в его паблишед секцию обработчики и назначать их в dfm.
Какой *** МyForm ты уже в методе класса используй его члены? Для этого у ивента есть Sender
У меня в "DataModule" (Unit_Edit) обработчики именуются:использование внутри метода класса ссылки на глобальную переменную экземпляр класса
procedure Form1.Edit1KePresset(Sender:TEdit; var Key:char);
begin
EditKey(Sender, Key);
end;
От ненада мне тут сказки рассказыавть ибо я таки да - software devloperОбласть приминения дельфи весьма ограниченная - в основном ее использовали для разработки всяких бухгалтерских систем.

Я тут пока тестирую мелочи для своего применения в C#, но уже есть затыки с GC. Он срабатывает когда мне не надо. Наверное, попробую руками заставлять его работать.
Чтобы вмешиваться в механизм сборки, нужно глубоко и хорошо понимать как GC работает. Если нет знания как устроены внутренности GC, то попытки оптимизации сборки мусора с вероятностью 99% приведут к ухудшению 
Понятно, что это не .NET компонент, но по логике при уничтожении формы память должна была освобождаться.
Руками поправил.
В сборке мусора нет ничего сверхестественного, GC чистит только managed память. Все что касается unmanaged кода лежит на совести программиста.
проблемы с GC обычно начинаются когда в него лезут руками и пытаются как-то заставлять его работатьЧтобы вмешиваться в механизм сборки, нужно глубоко и хорошо понимать как GC работает. Если нет знания как устроены внутренности GC, то попытки оптимизации сборки мусора с вероятностью 99% приведут к ухудшению
А в чем собственно проблема со сборкой заключается?
по какой такой логике?В сборке мусора нет ничего сверхестественного, GC чистит только managed память. Все что касается unmanaged кода лежит на совести программиста.
Проблема со сборкой в том, что она запускается когда мне нежелательно.
На все твои вопросы уже были даны исчерпывающие ответы. Повторяться нет смысла. Не понял в первый раз - не поймешь и во второй.Сначала извинюсь за мой плохой разговорный.
Затем:
Вот это у меня сейчас. Вынес так, потому что: 1) постоянно и во многих объектах возникает необходимость проверки бизнес правил; 2) для использования данного модуля в дальнейшем.
У меня в "DataModule" (Unit_Edit) обработчики именуются:
procedure EditKey(Sender:TEdit; Key:char);
а в вызове данной процедуры указываю на объект в котором необходима проверка (напр. в пустом Edit'e нажимается ',' или '.', в поле Edit'a появляется '0,' (лучше описать не смог); и подобные операции).
Вызов правильно?:
Не посоветуешь, как обращаться с DаtaModule к методам TEdita на форме что бы не "получить канделябром по физии"?Код:procedure Form1.Edit1KePresset(Sender:TEdit; var Key:char); begin EditKey(Sender, Key); end;
Такой метод нашел в DelphiWord вот и спросил правильно ли я делаю, вижу все не так уж и правильно. В дальнейшем разработаю компонент.
можно пример?

Можно, но когда разберусь побольше
Дабы **** не показывать![]()

"Моя мася!"
На Дельфи великолепно пишутся COM-объкты, реализующие решение решение дифференциальных уравнений и систем уравнений итеррационными методами.
Я не говорю о простоте написания интерфейсов. Если не использовать дотНет, то Дельфи, как инструмент не имеет себе равных по удобству и скорости написания пользовательских интерфейсов и "морд".
Правильно говорить, что на Дельфи можно писать все. Но драйвера удобней писать на С.
Чем больше таких писак, тем больше будет работы у меня.



Драйверы удобнее писать, юзая WinDriver + Delphi/C++/C/C#
