powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / помогите с вызовом функции из DLL (среда Builder, Rad Studio)
25 сообщений из 53, страница 2 из 3
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39450307
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73YuRock,
SDK идет под c#. на питоне примеры есть.Да мне-то какая разница, что там есть.
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39450313
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторSDK идет под c#. на питоне примеры есть.
Мы запасаемся попкорном и смотрим соответствующие форумы. :)
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39450329
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock,

тебе вообще идти мимо
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39450361
Bred eFeM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73, больше экспрессии!Не проходит (естественно) int h = Connect(params);
Код: plaintext
1.
int h = 42; Connect((int)params, (int)"Ы");


\\SDK идет под c#. на питоне примеры есть.Может, в честь праздника, по-братски поделишься?
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39450580
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73Leonid Kudryavtsev,

я зарегистрирован 5 лет, во многих формах. написал кучу приложений по сопровождению производства.
много сложных вопросов по с и по sql решил тут.
я пишу, что я не понимаю вопросов dll. в данный момент мне попался SDK без заголовочных файлов , и я решаю этот вопрос, как могу, как решал.

Всё, вот на этом месте тебе уже надо было остановиться, и бросить это дело.
Дальше задача не решается. Нет заголовочных файлов -- невозможно вызвать.
Так что Леонид кажется тебе давал ценные советы -- расслабься...
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39450681
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если есть __работающие__ примеры на C#, то написать самому корректные объявление функций на С вполне можно. Если, конечно, это не ActiveX DLL

Другое дело, что хорошо бы хоть какой-то опыт программирования на C иметь.
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39450705
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bred eFeMMizer73, больше экспрессии!Не проходит (естественно) int h = Connect(params);
Код: plaintext
1.
int h = 42; Connect((int)params, (int)"Ы");




Bred, подкину в топку уголька.
Код: plaintext
1.
int h = 42; Connect(params, 'ЖЫШЫ');
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39464456
Nickolasha08
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вставлю пять копеек. Я так понимаю пишется программа под контроллеры дверей ZKTeco. Тогда там есть UserGuid с описанием plcommpro.dll. Если нужно могу скинуть функцию connect на делфе.
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39467316
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nickolasha08,
буду охрененно благодарен за помощь. mizer_73@mail.ru
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39467318
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nickolasha08Вставлю пять копеек. Я так понимаю пишется программа под контроллеры дверей ZKTeco. Тогда там есть UserGuid с описанием plcommpro.dll. Если нужно могу скинуть функцию connect на делфе.

верно.
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39467331
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Bred eFeM]Mizer73, больше экспрессии!Не проходит (естественно) int h = Connect(params);
Код: plaintext
1.
int h = 42; Connect((int)params, (int)"Ы");




Можно получить комментарий по данному делу?
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39467334
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Mizer73]Bred eFeMMizer73, больше экспрессии!пропущено...
Код: plaintext
1.
int h = 42; Connect((int)params, (int)"Ы");




Можно получить комментарий по данному делу?

имею
[bcc32 Error] Unit3.cpp(42): E2031 Cannot cast from 'UnicodeString' to 'int'
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39467339
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А никого не смутило, что форум то по Delphi ? А вопросы под СИ ну как бы охренено, ничего не скажешь ведь!

На гите нашёл первые попасшейся заголовки от бедолаги инвалида, который надеялся что длл'ка будет в системной папке

https://github.com/didevgen/bachelor-diploma/blob/07c63828b04bfd9c62ff6f0afacb316aa18a0711/backend/iot/DesktopPart/DesktopPart/DeviceConnector.cs#L23
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39467373
Bred eFeM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73Можно получить комментарий по данному делу?да,
зачем ты пишешь
Код: plaintext
1.
typedef void __cdecl (*dll_func)(const int A, const int B);

что у тебя процедура (функция которая не возвращает значение (void)) и в которую нужно передать два инта,
если потом ты от неё вопрошаешь разультат задвигая внутрь строку.
Код: plaintext
1.
2.
3.
	dll_func Connect = NULL;
	String params = "protocol=TCP,ipaddress=192.168.12.154,port=4370,timeout=2000,passwd=";
	int h = Connect(params);


SDK идет под c#. на питоне примеры есть.Где?! Показал бы.


воткни так, может прокатит
Код: plaintext
1.
2.
3.
4.
        typedef void __cdecl (*Connectos)(char* param);
	Connectos Connect = (Connectos)GetProcAddress(hDLL, "Connect");
	const char Parameters[] = "protocol=TCP,ipaddress=192.168.12.154,port=4370,timeout=2000,passwd=";
	int h = Connect(Parameters);
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39467712
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[/src]
SDK идет под c#. на питоне примеры есть.

Где?! Показал бы.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
To connect a device, the system needs to transfer the device-related connection parameters.
protocol indicates the protocol used for communication. At present, RS485 and TCP can be used.
port: Communication port of the device. For example, if the RS485 protocol is used, you can set port to COM1: If the TCP is used, the default port is 4370 unless otherwise noted.
deviceid: Device ID used by the serial port.
baudrate: Baud rate used for the communication of the communication of the serial port.
ipaddress: IP address of the related device for TCP/IP communication.
timeout: Timeout time of the connection (unit: ms)If the network connection is in poor condition, you should set the parameter to a larger value. Usually, timeout=5000 (5 seconds) can meet the basic network needs. When the query result contains the error code of -2, you should set timeout to a larger value, for example, timeout=20000 (20 seconds).
passwd: Connection password of the communication. If the parameter value is null, it indicates that no password is used.
(Note: The connection parameters are case-sensitive)
[Returned value]
If the device is connected successfully, the connection handle is returned. Otherwise, the error code of 0 is returned.
[Example]
Python:
params = “protocol=TCP,ipaddress=192.168.12.154,port=4370,timeout=4000,passwd=”
self.commpro = windll.LoadLibrary("plcommpro.dll")		
constr = create_string_buffer(params)
self.hcommpro = self.commpro.Connect(constr)
c#:
params = “protocol=TCP,ipaddress=192.168.12.154,port=4370,timeout=2000,passwd=” ;
IntPtr h = Connect(params);

...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39467716
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
воткни так, может прокатит
Код: plaintext
1.
2.
3.
4.
        typedef void __cdecl (*Connectos)(char* param);
	Connectos Connect = (Connectos)GetProcAddress(hDLL, "Connect");
	const char Parameters[] = "protocol=TCP,ipaddress=192.168.12.154,port=4370,timeout=2000,passwd=";
	int h = Connect(Parameters);

[/quot]

ругается на int h = Connect(Parameters);

[bcc32 Error] Unit3.cpp(42): E2034 Cannot convert 'char const[69]' to 'char *'
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39467808
#янеробот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mizer73,
Код: plaintext
1.
2.
3.
4.
	typedef int __cdecl (*Connectos)(char* param);
	Connectos Connect = (Connectos)GetProcAddress(hDLL, "Connect");
	char *Parameters = "protocol=TCP,ipaddress=192.168.12.154,port=4370,timeout=2000,passwd=";
	int h = Connect(Parameters);
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39467843
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73Nickolasha08Вставлю пять копеек. Я так понимаю пишется программа под контроллеры дверей ZKTeco. Тогда там есть UserGuid с описанием plcommpro.dll. Если нужно могу скинуть функцию connect на делфе.верно.Так и в чем проблема? На гугле забанен?
ZKTeco SDK
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39467869
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rdb_devMizer73пропущено...
верно.Так и в чем проблема? На гугле забанен?
ZKTeco SDK

... и тишина. но уже подсказали выше
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39467872
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
#янероботMizer73,
Код: plaintext
1.
2.
3.
4.
	typedef int __cdecl (*Connectos)(char* param);
	Connectos Connect = (Connectos)GetProcAddress(hDLL, "Connect");
	char *Parameters = "protocol=TCP,ipaddress=192.168.12.154,port=4370,timeout=2000,passwd=";
	int h = Connect(Parameters);




на int h = Connect(Parameters);

[bcc32 Error] Unit3.cpp(42): E2468 Value of type void is not allowed
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39467883
#янеробот2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mizer73#янероботMizer73,
Код: plaintext
1.
2.
3.
4.
	typedef int __cdecl (*Connectos)(char* param);
	Connectos Connect = (Connectos)GetProcAddress(hDLL, "Connect");
	char *Parameters = "protocol=TCP,ipaddress=192.168.12.154,port=4370,timeout=2000,passwd=";
	int h = Connect(Parameters);




на int h = Connect(Parameters);

[bcc32 Error] Unit3.cpp(42): E2468 Value of type void is not allowed
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39467933
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хватит методом тыка пробовать! Иди учит язык, а не балду ганяй надеясь на чудо.

Или твоя больная фантазия не позволяет понять, что ничего не изучая- ничего не напишешь? Тут ум нужен!
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39468524
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НяшикА никого не смутило, что форум то по Delphi ? А вопросы под СИ ну как бы охренено, ничего не скажешь ведь!


Вопрос вызова функции из .DLL -- вопрос не только по С.
Просто так повелось, что API/ABI операционок строится на базе языка С, на котором они и написаны, но вызывать-то их можно из разных языков. Поскольку, видимо, товарищь вызывает из Delphi, он суда к вам и ломанулся.
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39469090
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
#янеробот2
Mizer73пропущено...



на int h = Connect(Parameters);

[bcc32 Error] Unit3.cpp(42): E2468 Value of type void is not allowed


ай, спасибо.
реально теперь несколько стало понятно с этим cdecl.
собрал.
поправил очевидное - пошло.
...
Рейтинг: 0 / 0
помогите с вызовом функции из DLL (среда Builder, Rad Studio)
    #39469365
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Няшик,

надо экономить время, говорить по делу. нечего сказать, по делу - есть другие темы на форуме для офтопа.
...
Рейтинг: 0 / 0
25 сообщений из 53, страница 2 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / помогите с вызовом функции из DLL (среда Builder, Rad Studio)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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