[ОТВЕТИТЬ]
06.03.2012 15:19
Janek
 
Ты увидел все эти процедуры и классы из длл-ки?
06.03.2012 15:26
student
 
Цитата:
Janek Ты увидел все эти процедуры и классы из длл-ки?
походу мы друг друга не понимаем :( как можно увидеть что либо, если чуть выше

Цитата:
student либо я чего то в этой жизни не понимаю, либо чего то не хватает :)
м.б. не стоит огород городить - формат обмена с диджами достаточно хорошо расписан у с+ и есть длл-ка котороя точно будет работать в дельфях
=======
TWSWTCP.DLL – краткое описание
DLL экспортирует следующую функцию:
execute(AOperation: TOperation; AScaleIP: PChar; AFileName: PChar; ACommand: BYTE): TOperationResult;
=======
06.03.2012 15:41
Janek
 
можешь скачать visual studio поновее? Потому что у тебя наверно старая версия и поэтому ты не можешь открыть эту длл-ку.
06.03.2012 15:43
student
 
Цитата:
Janek можешь скачать visual studio поновее? Потому что у тебя наверно старая версия и поэтому ты не можешь открыть эту длл-ку.
а может проще будет весь проект vb с исходниками в хранилище положить?
06.03.2012 15:53
Janek
 
Вот ссылка:


Здесь и проект vb, а в папке bin/debug/ находится этот злополучный scload.dll, который никак не хочет регистрироваться в регистрах.
Этот написанный на C++ TWSWTCP.DLL годится для весов SM500?
06.03.2012 16:11
student
 
Цитата:
Janek Этот написанный на C++ TWSWTCP.DLL годится для весов SM500?
практически на всех сайтах, где он упоминается есть ссылка на см-500
06.03.2012 16:21
Janek
 
Вопрос Олегу - владельцу форума. Вы написали, что по-вашему мнению эта длл-ка не просто подключаемая библиотека, а это сервер-СОМ и что по-вашему мнению вызов процедур неправильный. В таком случае у меня вопрос такой:
"Как в Дельфи6 обратиться к этому длл-файлу, который является COM-сервером?".
06.03.2012 16:30
OlegON
 
Мое мнение, что вызывать функции из dll, которая их не экспортирует, бессмысленно. Необходимо зарегистрировать библиотечку через regsrv32 и потом использовать сервер DCOM. Когда она не регистрится, она что говорит? Может, действительно, кривая или неполная? Извини, возиться с ней не интересно. Тоже уже давно забыл Delphi. Некроссплатформенная и платная она.
06.03.2012 16:38
student
 
не заморачивайтесь с этой длл-кой - для ее работы необходимо наличие в памяти "User License" - идет и запускается вместе с проектом, но в конечном счете формируется обычный файлик, который передается в весы утилитой
============
DIGIWTCP.EXE (NEW DRIVER)

Driver to send/receive data to/from scales.
EXEcutable Type

The format of the syntax is:

TWSWTCP command file_num machine_1 [machine_2 ... machine_n]

where the items inside the square backets are optional.

If an input/output file is needed, the format of the input/output filename is:
SM + ip_address_or_name + F + file_number + .DAT

IP Address of Name : The full IP address of the scale. With this new driver no hosts file entry needed for the scale definitions.

File Number : If the file indicated as 25H (Hex value) in the driver manual, it will be used as 37 (decimal value of Hex(25))

See example below for the usage.


Example: machine dairy sending PLU records, the input file is
SMdairyF37.DAT
command line is
TWSWTCP WR 37 dairy

Example: machine 192.168.1.2 sending PLU records from PC to scale,;

The input file name is :
SM192.168.1.2F37.DAT
Upload command line is :
TWSWTCP WR 37 192.168.1.2

Input files should not have control characters embedded.

Parameters:
command
Can be any of the following
RD - read
WR - write
DEL - delete
DELFI - delete file
RD_DEL - read and then delete

file_num
file number in decimal(base 10) form

machine_1
machine IP address and/or host name to operate on

[machine_2
machine_n] additional IP addresses or host names to operate on


Returns:

A file named result or the value of gcResult that contains the return code and the machine that returned the error. Format of the file is

machine_1:return_code;machine_2:return_code;machine_n:return_code.

return_code - can be any of the following 0 = no error
-1 = Open file error
-2 = Read from file error
-3 = Write to file error
-4 = Network initialize error
-5 = Network open error
-6 = Network read error
-7 = Network write error
-8 = Machine read error
-9 = Machine write error
-10 = Machine no record error
-11 = Machine space error
-12 = Undefined error
============

используйте лучше длл-ку TWSWTCP.DLL - проще будет
06.03.2012 16:53
Janek
 
Где эту длл-ку найти? TWSWTCP.DLL

Добавлено через 2 минуты 20 секунд
User Licence присылает разработчик длл-файла для каждой машины, из которой будет отправляться информация весам. Моя задача состоит в разработке приложения, из которого весам будет отправляться информация о товарах. Поэтому одной этой TWSWTCP.exe недостаточно.

Добавлено через 1 минуту 47 секунд
Студент - Может все-таки посмотрите через vb эту длл-ку?
06.03.2012 17:07
student
 
Цитата:
Janek Где эту длл-ку найти? TWSWTCP.DLL
попытаться найти в хранилище форума либо на сайте с+ - Digi_driver_TWSWTCP.zip - ее будет достаточно для выполнения поставленной задачи, причем совершенно бесплатно, т.е. даром :)

длл-ку я не посмотрю - исходников на нее нет, есть только вызовы ф-ций через предварительный adressoff - т.е. динамически (поэтому она и не регистрится автоматом - типа закат солнца вручную), что надо сказать, очень грамотно сделано :)
06.03.2012 17:28
Janek
 
Ответ Олегу - владельцу форума.
Если Visual Basic может открыть эту scload.dll без регистрации в регистрах, то почему Дельфи не может?

Добавлено через 2 минуты 55 секунд
Студенте - Вы хотите сказать, что этот TWSWTCP.DLL содержит ту же информацию, что и ScLoad.dll?
06.03.2012 17:41
student
 
Цитата:
Janek Ответ Олегу - владельцу форума.
Если Visual Basic может открыть эту scload.dll без регистрации в регистрах, то почему Дельфи не может?

Добавлено через 2 минуты 55 секунд
Студенте - Вы хотите сказать, что этот TWSWTCP.DLL содержит ту же информацию, что и ScLoad.dll?
насчет дельфей - не знаю (давно не спец в них) - скорее всего из-за динамического размещения и его взаимоувязки в разных компонентах всего проекта - типа защита такая, а насчет инфы - да - формируется файлик стандартного типа - проще Вам самим посмотреть - там и доки есть по формату файлика, и немного модифицированный ехе (типа того что в Вашем проекте) тоже :)

ps
возможно, что при получении Вами всех нужных адресов в памяти после запуска User Licence - у Вас получится обратиться к функциям длл-ки и получить от них ответ :)
06.03.2012 17:57
akonev
 
Цитата:
Janek ...Моя задача состоит в разработке приложения, из которого весам будет отправляться информация о товарах...
Есть какие-то религиозные или политические препятствия к использованию давно написанного поставщиком Digi (сервис-плюс) прогрузчика QLoad?

Если нет - задача сводится к выгрузке товаров в текстовый файл.

Если есть, то можно все-таки пользовать TWSWTCP.dll, но файл во внутреннем формате весов (описан в документации к twswtcp.exe) придется собрать самому.

sm500 поддерживаются. но если хочется полной и абсолютной уверенности, то в комплекте с twswtcp.dll идет тестовая программа.
06.03.2012 19:15
Janek
 
Вопрос Олегу - владельцу форума. Утилита TDUMP.EXE, просмотрев этот злополучный SCLOAD.DLL, показала, что
Exports 00000000 00000000
Imports 000107E0 0000004B
Resources 00014000 00000870
Exceptions 00000000 00000000
Security 00000000 00000000
Fixups 00016000 0000000C
Debug 00012000 0000001C
Description 00000000 00000000
Global Ptr 00000000 00000000
TLS 00000000 00000000
Callbacks 00000000 00000000
Bound Imports 00000000 00000000
Import Addr Table 00002000 00000008
Delayed Imports 00000000 00000000
COM Runtime 00002008 00000048
reserved 00000000 00000000

О чем это говорит?
07.03.2012 09:22
OlegON
 
Цитата:
Janek О чем это говорит?
Об этом и говорит. Я должен догадаться, какой от меня ответ ожидается?
07.03.2012 09:59
Pyatak
 
Чет прочитал все страницы темы и не понял в чем сложность. Просто вызвать функцию dll из делфи не получается?

Код:
type
TOperation = (UPLOAD, DOWNLOAD, ERASEPLULIST, ERASEOBJECT);
TOperationResult = (NON_ERROR, OPEN_FILE_ERR, READ_FILE_ERR,
  WRIT_FILE_ERR, NETWORK_OPEN_ERR, NETWORK_READ_ERR, NETWORK_WRIT_ERR,
  MACHINE_READ_ERR, MACHINE_WRIT_ERR, MACHINE_NOREC_ERR,
MACHINE_SPACE_ERR, MACHINE_UNDEF_ERR);


function execute(AOperation: TOperation; AScaleIP: PChar; AFileName: PChar; ACommand: BYTE): TOperationResult; stdcall; external 'digiTCPdrv.dll';
Это было нужно?

Только всё это справедливо для dll-ки которая из этого архива... (ага, а ссылку-то я вставить не могу, спасибо некоторым борцам за мотивацию. Чтобы помочь - надо вставить ссылку, а чтобы вставить ссылку - надо помогать, замкнутый круг получается) (Автору: ищи тогда самостоятельно на сайте СервисПлюса где-то в разделе "Документация, драйверы, сервисное программное обеспечение")
В этом же архиве doc файл с описанием чего и как надо вызывать и тестовая программа на делфи, правда без исходников.
07.03.2012 10:59
student
 
Цитата:
Pyatak Чет прочитал все страницы темы и не понял в чем сложность. Просто вызвать функцию dll из делфи не получается?
с этой длл-кой как раз никаких сложностей и нет :) про это и написано, автору наоборот надо походу обязательно заюзать платный вариант - scload.dll - а оно достаточно хитро организовано и просто так не пускает к себе, хотя результаты что у платного что у бесплатного вариантов одинаковы - файл на выходе и транспорт в весы

ps
кстати, как вариант - можно попробовать зарегать ее через компонет сервис - создав новое приложение сом - как для компа с отсутсвующей 1С v8 на котором надо с ней работать

:( попробовал - не создается - чего то еще не хватает
07.03.2012 18:13
Janek
 
Студент, ты здесь? Ты открыл спискок этих функций и процедур из scload.dll?
Я хотел спросить тебя, как добраться до процедуры PLUHEXFILE ИЗ PLU.
Ты прав, что эта длл-ка хитро построена - эти подчинения классов и методов.
09.03.2012 09:57
student
 
Цитата:
Janek Студент, ты здесь? Ты открыл спискок этих функций и процедур из scload.dll?
Я хотел спросить тебя, как добраться до процедуры PLUHEXFILE ИЗ PLU.
Ты прав, что эта длл-ка хитро построена - эти подчинения классов и методов.
на основе tlb файла описание ф-ций просмотрел, но это не дает возможности до них добраться без правильного объявления - не стоит огород городить - юзай транспорты напрямую на базе библиотек от дижи как уже здесь неоднократно писали


Опции темы


Часовой пояс GMT +3, время: 20:20.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.