Re: Вопросы от неразбирающегося

Здравствуйте! Как обратиться к Sender из внешней процедуры (или как правильно она называется)? Например, нужно получить имя комбобокса при его срабатывании.
Так работает:

procedure Form1_Combobox1_OnChange(Sender:TObject);
begin ShowMessage(''+TComponent(Sender).Name);
end;

А так уже нет:

procedure Form1_Combobox1_OnChange(Sender:TObject);
begin Form1_Combobox1_OnCh;
end;

procedure Form1_Combobox1_OnCh;
begin ShowMessage(''+TComponent(Sender).Name);
end;

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

Re: Вопросы от неразбирающегося

procedure Form1_Combobox1_OnChange(Sender:TObject);
begin 
  Form1_Combobox1_OnCh(Sender);
end;

procedure Form1_Combobox1_OnCh(Sender:TObject);
begin 
  ShowMessage(''+TComponent(Sender).Name);
end;
Визуальное программирование: блог и телеграм-канал.

Re: Вопросы от неразбирающегося

Form1_Combobox1_OnCh(Sender)

k245, благодарю!

Re: Вопросы от неразбирающегося

Здравствуйте!
Понадобилось взаимодействовать с вордом, нашел страничку с кодом - https://delphisources.ru/pages/faq/base … _strs.html
Перенес все как там указано в свой скрипт. Но возникла проблемка: MVD выделяет "uses ComObj;" как "undeclared identifier". Выше неё строк нету.
Никогда не сталкивался с необходимостью использовать ComObj и редактурой ворда через дельфи вообще. Что я упустил?

Re: Вопросы от неразбирающегося

Vyvern wrote:

Здравствуйте!
Понадобилось взаимодействовать с вордом, нашел страничку с кодом - https://delphisources.ru/pages/faq/base … _strs.html
Перенес все как там указано в свой скрипт. Но возникла проблемка: MVD выделяет "uses ComObj;" как "undeclared identifier". Выше неё строк нету.
Никогда не сталкивался с необходимостью использовать ComObj и редактурой ворда через дельфи вообще. Что я упустил?

Команда uses подключает модули (файлы с расширением .pas) в проект.
Про то, как это работает в MVD можно прочитать тут: https://k245.ru/mvdb/navodim-poryadok.html


В примере, который вы пытаетесь портировать,  используется модуль для Delphi. То есть копировать строку uses в свой проект нельзя. Удалите эту строку

Визуальное программирование: блог и телеграм-канал.

Re: Вопросы от неразбирающегося

k245, благодарю за ответ!
Удаление строки не помогает,  все равно вылазят ошибки. Пробовал скачать и подключить модуль ComObj.pas через uses, как сказано в статье, но все равно ничего не вышло.
Может, для работы этого кода в MVD нужны какие-то другие методы? Или он вообще не будет работать?

Прилагаю ссылку на заготовку проекта с кодом, вдруг кто-нибудь сможет подсказать, что нужно подкорректировать - https://disk.yandex.ru/d/7_-XAU40LpVOGw

Re: Вопросы от неразбирающегося

Ошибки говорят о том, что код работать не будет. А про взаимодействие с Word поищите на форуме.
Вот рабочий вариант:
https://myvisualdatabase.com/forum/view … hp?id=9315

Визуальное программирование: блог и телеграм-канал.

83 (edited by Vyvern 2025-08-28 23:23:55)

Re: Вопросы от неразбирающегося

k245, благодарю! Этот пример очень помог.

Может, кто-нибудь знает, почему ехе-файл, который формируется при запуске проекта, весит в несколько раз больше, чем все файлы проекта, вместе взятые? Можно ли как-то уменьшить его размер?


Пробовал ли кто-нибудь превратить свой проект в полноценное отдельное приложение? Вышеупомянутый ехе-файл, как оказалось, таковым не является и требует наличия файлов проекта для работоспособности. Хотелось бы создать единый целостный ехе'шник своей программы, независимый от файлов проекта, для использования на других компьютерах.
У кого-нибудь есть на примете программа для этого?


Как сохранить изображение в базе данных, чтобы не нужно было хранить само изображение отдельно? Или в самом ехе-файле сохранить не удастся?

Re: Вопросы от неразбирающегося

https://myvisualdatabase.com/forum/view … 972#p46972

Визуальное программирование: блог и телеграм-канал.

85 (edited by Vyvern 2025-08-31 16:00:21)

Re: Вопросы от неразбирающегося

k245, благодарю! Вроде подходит.
Насколько я понял, результирующий ехе-файл сжать никак не выйдет?
Есть ли в MVD возможность считывать атрибуты файлов и папок, типа как через FileGetAttr? Нужно скрыть папку/файл.