powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Редактирование OCX
25 сообщений из 39, страница 1 из 2
Редактирование OCX
    #35916263
Евгений_Анатольевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Товарищи форумчане, есть такая проблема:

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

Вопросы:
Есть ли какие-нибудь проги позволяющие отредактировать файл не изменяя его структуру?
Может я что-то не так понимаю и такая задача вообще не решаема? Просто сама строчка с запросом найдена, а дабавить надо фактически всего одно поле..

Заранее благодарю за помощь.
...
Рейтинг: 0 / 0
Редактирование OCX
    #35916398
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_Анатольевич пишет:
> Существует осх, стороннего разработчика. В нем есть SQL-запрос который
> надо отредактироватью. Самих исходных кодов нет.

Если запрос лежит в ресурсах, то это очень просто -- берёшь любой
редактор ресурсов (например, Visual Studio) и правишь, при этом
результат успешный гарантирован на 100%.

Если нет, то это практически невозможно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Редактирование OCX
    #35916495
Евгений_Анатольевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Евгений_Анатольевич пишет:
> Существует осх, стороннего разработчика. В нем есть SQL-запрос который
> надо отредактироватью. Самих исходных кодов нет.

Если запрос лежит в ресурсах, то это очень просто -- берёшь любой
редактор ресурсов (например, Visual Studio) и правишь, при этом
результат успешный гарантирован на 100%.

Если нет, то это практически невозможно.


Открыл в редакторе(LordPE и PETools) и тот и другой показали наличие 4х секций. ни в одну из этих секций не попадает блок, который надо отредактировать.. :(

А не поделитесь почему это невозможно? На сколькоя я догадываюсь (в этом вопросе вообще не разбираюсь), в файле прописано где какие блоки, заголовки и что к чему относится. Но есди это так, то увеличениеколичества символов в одном блоке - приведет к смещению по всем блокам и следовательно увеличению всего файла. Разве невозможно отредактировать соответственно все эти хранящиеся значения с учетом изменений?

Или я вообще как-то не так понимаю данную проблему?
...
Рейтинг: 0 / 0
Редактирование OCX
    #35916546
Kew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это возможно.
Но не исключено, что для этого надо будет удлиннить секцию инициализированных данных, перенести новый текст запроса, или измененные куски запроса, если он собирается из нескольких частей, в освободившееся место (это не так сложно), а затем прошерстить секцию кода на предмет использования адресов этих строк в различных вызовах функций (вот это, теоретически, может оказаться уже не совсем тривиальной задачей).
...
Рейтинг: 0 / 0
Редактирование OCX
    #35916623
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно было бы посмотреть на строку,которая находится в OCX, и на ту, которую
хотелось бы вставить.
...
Рейтинг: 0 / 0
Редактирование OCX
    #35916774
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_Анатольевич пишет:

> Открыл в редакторе(LordPE и PETools) и тот и другой показали наличие 4х
> секций. ни в одну из этих секций не попадает блок, который надо
> отредактировать.. :(

Надо открывать в редакторе ресурсов.

> А не поделитесь почему это невозможно? На сколькоя я догадываюсь (в этом
> вопросе вообще не разбираюсь), в файле прописано где какие блоки,

Потому что оптимизирующие компиляторы современные очень сложны,
а дизасемблеры - тупы. И 100% обратный инжениринг кода из
бинарного практически невозможен, с моей точки зрения.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Редактирование OCX
    #35916930
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_Анатольевич
Существует осх, стороннего разработчика. В нем есть SQL-запрос который надо отредактироватью. Самих исходных кодов нет.

Если запрос динамический, или генерится каким-то ORM - тогда пиши пропало. В тектовом представлении он существует только в момент исполнения.
...
Рейтинг: 0 / 0
Редактирование OCX
    #35916990
Евгений_Анатольевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VowkИнтересно было бы посмотреть на строку,которая находится в OCX, и на ту, которую
хотелось бы вставить.
легко:
сейчас так:
Код: plaintext
1.
 insert INTO uktd_cOVERSOnInventory(InventoryId,CoverId,Area,Dan3,SubdivisionId,State,PRVIV)
values (%d,%d,%s,'%s',%d, 1 ,%d) 

а надо так:
Код: plaintext
1.
 insert INTO uktd_cOVERSOnInventory(InventoryId,CoverId,Area,Dan3,SubdivisionId,State,PRVIV,UserID)
values (%d,%d,%s,'%s',%d, 1 ,%d,%d) 
...
Рейтинг: 0 / 0
Редактирование OCX
    #35917021
Евгений_Анатольевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Товарищи, может я объясняю фигово..

При открытии обычным блокнотом можно в тексте ОСХ найти указанную выше строчку кода =) ни о какой декомпиляции или дизассемблировании речи не идет. нужно фактически в уже рабочем созданном файле дописать нужные данные.

п.с. сам ОСХ написан 6 Дельфях, если это имеет значение :)
...
Рейтинг: 0 / 0
Редактирование OCX
    #35917035
MazoHist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не получится. OCX ничего не знает о дополнительных данных, которые необходимо добавить.
ЗЫ: я бы посмотрел в сторону триггеров БД.
...
Рейтинг: 0 / 0
Редактирование OCX
    #35917067
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
значение по умолчанию в столбец UserID нельзя разве поставить?
тем более, что действительно, ocx не знает о том, какое значение подставлять в запрос. Грохнется всё у вас по-любому
...
Рейтинг: 0 / 0
Редактирование OCX
    #35917322
Евгений_Анатольевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MazoHistНе получится. OCX ничего не знает о дополнительных данных, которые необходимо добавить.
ЗЫ: я бы посмотрел в сторону триггеров БД.
egorychзначение по умолчанию в столбец UserID нельзя разве поставить?
тем более, что действительно, ocx не знает о том, какое значение подставлять в запрос. Грохнется всё у вас по-любому

хм.. вся попа в том, что узнать кто юзер невозможно, потому что приложение клиент-серверное и эти данные отправляются с клиента(о юзере)..

были мысли привязать пользователей через SPID и юзверей которые на них висят, но такая лажа получилась, что это приложение не держит ни нормальную виндовую аутентификацию - ни аутентификацию средствами БД.. Тоесть пользователя БД для приложения создаешь одного и по его правам все подключаются.. :( То есть по спиду невозможно идентифиуировать пользователя, а соостветственно и вписать эти данные в БД триггером..

Если есть какие-то соображения как это реализовать - буду благодарен :)
...
Рейтинг: 0 / 0
Редактирование OCX
    #35917330
Евгений_Анатольевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+
то есть в этой системе своя таблица где хранится список пользователей и их айдишники, которые потом используются. а привязки этих внутрисистемных пользователей к БД-шным пользователям или виндовым - нет... :(
...
Рейтинг: 0 / 0
Редактирование OCX
    #35917383
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
субд какой? должны в ней быть встроенные средства определения пользователя, пославшего запрос
Евгений_Анатольевичесть в этой системе своя таблица где хранится список пользователей и их айдишники, которые потом используются. а привязки этих внутрисистемных пользователей к БД-шным пользователям или виндовым - нет придётся сделать один раз и не мучаться потом.
...
Рейтинг: 0 / 0
Редактирование OCX
    #35917639
Евгений_Анатольевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychсубд какой? должны в ней быть встроенные средства определения пользователя, пославшего запрос
Евгений_Анатольевичесть в этой системе своя таблица где хранится список пользователей и их айдишники, которые потом используются. а привязки этих внутрисистемных пользователей к БД-шным пользователям или виндовым - нет придётся сделать один раз и не мучаться потом.

MS SQL 2000, создал тему в соответсвующем разделе. Посмотрим, что посоветуют спецы..
...
Рейтинг: 0 / 0
Редактирование OCX
    #35917949
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кури в сторону user_id( user_name() ) ставишь это как default constraint в своём поле userID - будет текущий пользователь БД.
связующую таблицу между юзерами БД и ocx сделать всё равно придётся, без неё не обойтись, имхо.
...
Рейтинг: 0 / 0
Редактирование OCX
    #35917970
Евгений_Анатольевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychкури в сторону user_id( user_name() ) ставишь это как default constraint в своём поле userID - будет текущий пользователь БД.
связующую таблицу между юзерами БД и ocx сделать всё равно придётся, без неё не обойтись, имхо.

Ты думаешь в эту сторону я еще не курил? :)

Евгений_Анатольевичбыли мысли привязать пользователей через SPID и юзверей которые на них висят, но такая лажа получилась, что это приложение не держит ни нормальную виндовую аутентификацию - ни аутентификацию средствами БД.. Тоесть пользователя БД для приложения создаешь одного и по его правам все подключаются.. :( То есть по спиду невозможно идентифиуировать пользователя, а соостветственно и вписать эти данные в БД триггером..
...
Рейтинг: 0 / 0
Редактирование OCX
    #35917990
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я просто не понял, что такое SPID ))) т.е. к базе все подключены одним логином? сочувствую тогда
...
Рейтинг: 0 / 0
Редактирование OCX
    #35918403
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне так думается, что добавив в списке values еще один %d мы ничего не добьемся, т.к. эта строка, скорее всего используется в ф-ции format(s : string; [args] : array of трам пам пам). Кто будет в этот массив добавлять при ее вызове еще и UserID?
Оптимальным, недорогим способом будет сделать:
1 - привязку к IP-адресам пользователей и разруливать все уже в базе.
Если DHCP или юзера непривязываемы к адресам машин, то
2 - купить исходники OCX у того, у кого они есть
3 - написать этот хренов OCX самому.

ЗЫ. Кстати, все больше сталкиваюсь с задачами, которые дешевле всего не решать вообще. На самом деле НЕ РЕШАТЬ. Приходится обосновывать, получается. Это что? Старость? Мудрость? Хитрость? :)
...
Рейтинг: 0 / 0
Редактирование OCX
    #35918431
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или, может, исходники самой проги в наличии, и эта ф-ция вызывается из приложения, пользующего OCX? Тогда имеет смысл посношаться, если уверены, что больше ничего "улучшить" не захочется. Но если первое предположение верно, то это такой плохой OCX, что лучше, действительно, написать новый. Просто не могу себе представить ситуацию, в которой такая реализация могла бы показаться разумной хоть кому-нибудь.
...
Рейтинг: 0 / 0
Редактирование OCX
    #35918462
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам повезло. Открываете фал в любом hex-editore и прямо в нем меняете старый текст запроса на новый побайтно. Главное что-бы новый текст запроса поместился поверх старого. В вашем случае новый запрос немного длиннее старого, поэтому надо найти как влезть в отведенный размер.
Например можно:
вместо прямого инсерта с перечислением всех столбцов сделать вызов заранее написааной вами хранимой процедуры: exec my_insert(...)
может завести альяс какой-нибудь на таблицу и обращаться к ней по нему, главное что-бы он позволил сократить блину запроса в байтах.
(другие варинаты)
...
Рейтинг: 0 / 0
Редактирование OCX
    #35918506
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_old,

В общем правильно, но что делать с последним %d?
...
Рейтинг: 0 / 0
Редактирование OCX
    #35918509
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_Анатольевич пишет:

> а надо так:
>
> insert INTO uktd_cOVERSOnInventory(InventoryId,CoverId,Area,Dan3,SubdivisionId,State,PRVIV,UserID)
> values (%d,%d,%s,'%s',%d,*1*,%d,%d)

Ну хорошо, допустим, формат ты поправишь. А кто тебе в параметры функции ЕЩЁ
ОДНУ ПЕРМЕННУЮ ЗАПИХНЁТ ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Редактирование OCX
    #35918511
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_Анатольевич пишет:
> Товарищи, может я объясняю фигово..

Товарищь, ты только не обижайся. Но с таким уровнем
понимания проблемы ИМЕННО ТЫ эту проблему ВРЯД ЛИ РЕШИШ.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Редактирование OCX
    #35918513
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_Анатольевич пишет:

> MS SQL 2000, создал тему в соответсвующем разделе. Посмотрим, что
> посоветуют спецы..

MS SQL тут, как ни странно, абсолютно ни при чём.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Редактирование OCX
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]