Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Access violation при чтении версии, Access violation при чтении версии 
:(
    Опции темы
CodeMonkey
Дата 22.1.2012, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Цитата
Но вот использовать их компоненты для получения номера версии программы просто глупо


Это - не компоненты, это - объектная обёртка. 

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

Цитата
Ссылок на пример получения версии программы через WinAPI во всемирной помойке - миллион и ещё маленькая тележка.


И весь этот миллион страдает от известных проблем. Что и подтверждается примером в этой теме. Нормальных примеров - пересчитать по пальцам.

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


Особенно хорошо заметно по этой теме, как просто в них разобраться  smile 


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
CodeMonkey
Дата 22.1.2012, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Цитата(Sur0vy @  20.1.2012,  16:36 Найти цитируемый пост)
Определяю версию программы, используя библиотеку jedi


Посмотри пример в комплекте:
\jcl\examples\windows\fileversion\VerInfoExample.dpr

Цитата(CodeMonkey @  22.1.2012,  11:20 Найти цитируемый пост)
Это - не компоненты, это - объектная обёртка. 


Прошу прощения, TJvVersionInfo - действительно компонент, а объектная обёртка - это TJclFileVersionInfo.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Akella
Дата 22.1.2012, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Keeper89, потому что для того, чтобы использовать пару компонентов оттуда, приходится устанавливать 2 помойки компонент. Ну или ломать голову над тем, как можно установить только те пару нужных компонент.
PM MAIL   Вверх
CodeMonkey
Дата 22.1.2012, 13:05 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Что и говорить - крайне сложно запустить .bat файл и нащёлкать Далее, Далее, Далее  smile 


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Akella
Дата 22.1.2012, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Да и нечего говорить. Ты не понял ход моей мысли. Попробуй перечитать может уловишь smile
PM MAIL   Вверх
Keeper89
Дата 22.1.2012, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Akella, мне места не жалко =)
Ну а если серьезно, я понимаю о чем ты, и ясно, что ради получения версии устанавливать это вряд ли надо.
Но я пользуюсь этим пакетищем регулярно, и не только парой, поэтому для меня это нормально. К тому же там много чему есть поучиться (получению версии в том числе).

З.Ы. Хотя может я и расточительный: установлена у меня вот, например, Visual Studio целиком, а пользуюсь только C# smile

Это сообщение отредактировал(а) Keeper89 - 22.1.2012, 16:41


--------------------
PM MAIL WWW   Вверх
northener
Дата 23.1.2012, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 8
Всего: 20



Цитата(CodeMonkey @  22.1.2012,  10:20 Найти цитируемый пост)

Цитата
Ссылок на пример получения версии программы через WinAPI во всемирной помойке - миллион и ещё маленькая тележка.


И весь этот миллион страдает от известных проблем. Что и подтверждается примером в этой теме. Нормальных примеров - пересчитать по пальцам.

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


Особенно хорошо заметно по этой теме, как просто в них разобраться  smile  

Вы противоречите сами себе.
Хоть какой-то ответ автору "по теме" дали только вы, Александр. И то не известно правильный ли? "Не известно" потому, что для анализа вопроса и/или ответа нужно знать компонент/обёртку. А имя им легион, этим компонентам/обёрткам созданным кем-то, когда-то. Знать их все - нереально (не сомневаюсь, что вы это понимаете). А был бы вопрос типа gesper, многим не составило бы труда указать на ошибки и на то как их исправить.

А что касается известных проблем, то тут вы передёргиваете. Естественно, что на помойке трудно найти что-то ценное. Но некие простые примеры решения простых вопросов (а вопрос определения версии уж "Ну очень простой и ну уж очень старый и его решение не менялось ни разу до сих пор и вряд ли когда-нибудь изменится!") найти там не трудно. 

Это сообщение отредактировал(а) northener - 23.1.2012, 01:23


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
CodeMonkey
Дата 23.1.2012, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Цитата(northener @  23.1.2012,  02:04 Найти цитируемый пост)
Хоть какой-то ответ автору "по теме" дали только вы, Александр. 


Ответ по теме дали Keeper89 и БелАмор.

Добавлено через 3 минуты и 8 секунд
P.S. Вообще замечу, что автору, похоже, по барабану на тему.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Akella
Дата 23.1.2012, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Т.е. Snowy и Я типа здесь просто пофлудили?  smile

Добавлено через 17 секунд
Вот она - черная неблагодарность  smile 
PM MAIL   Вверх
CodeMonkey
Дата 23.1.2012, 12:00 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Могу ответить твоими словами - "Ты не понял ход моей мысли. Попробуй перечитать может уловишь".

Но я добрый и поэтому подскажу, что Keeper и БелАмор указали на проблему с кодом (про это говорил northener). Все остальные не указывали на решение проблемы кода в вопросе.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
MetalFan
Дата 23.1.2012, 12:08 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Jedi... интернеты... примеры получения версии.
Зачем это все?
Есть же SysUtils.GetFileVersion, правда она только dwFileVersionMS получает, но может послужить примером кода для своей функции получения всех 64 бит значения версии...


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
CodeMonkey
Дата 23.1.2012, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Вот из-за "но"-то оно и...


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
MetalFan
Дата 23.1.2012, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



CodeMonkey, ну так одна доп.строчка кода решает проблему "но".


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0906 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.