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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перевод! 
:(
    Опции темы
Frikazoid
Дата 13.1.2004, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



Здрасти!
Могёте вот это перевести в дельфёвый вид культурно на? Спасибо!
int __declspec(dllexport) __stdcall ExtPing(int nCommPort, BOOL bIsIrDA = FALSE);
long __declspec(dllexport) __stdcall ExtGetFreeMemory(int nCommPort, BOOL bIsIrDA = FALSE);
BOOL __declspec(dllexport) __stdcall ExtGetSerialNumber(LPSTR szData, int nCommPort, BOOL bIsIrDA = FALSE);
BOOL __declspec(dllexport) __stdcall ExtGetTime(LPSTR szData, int nCommPort, BOOL bIsIrDA = FALSE);
BOOL __declspec(dllexport) __stdcall ExtUpdateTime(int nCommPort, BOOL bIsIrDA = FALSE);

int __declspec(dllexport) __stdcall ExtGetCurrentState(LPSTR szData, int nCommPort, BOOL bIsIrDA = FALSE);
long __declspec(dllexport) __stdcall ExtGetDataCount(int nDoc, int nCommPort, BOOL bIsIrDA = FALSE);
long __declspec(dllexport) __stdcall ExtGetRecordsCount(int nBase, int nCommPort, BOOL bIsIrDA = FALSE);
BOOL __declspec(dllexport) __stdcall ExtClearDoc(int nDoc, int nCommPort, BOOL bIsIrDA = FALSE);
BOOL __declspec(dllexport) __stdcall ExtClearDatabase(int nBase, int nCommPort, BOOL bIsIrDA = FALSE);
int __declspec(dllexport) __stdcall ExtReadData(int nDoc, LPSTR szData, int nCommPort, BOOL bIsIrDA = FALSE);
int __declspec(dllexport) __stdcall ExtReadRecord(int nBase, LPSTR szData, int nCommPort, BOOL bIsIrDA = FALSE);
BOOL __declspec(dllexport) __stdcall ExtPutRecord(int nBase, LPCSTR szData, int nCommPort, BOOL bIsIrDA = FALSE);
BOOL __declspec(dllexport) __stdcall ExtFinish(int nCommPort, BOOL bIsIrDA = FALSE);

Санькс...



--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
<Spawn>
Дата 13.1.2004, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Вот некоторые. На остальные времени нету:
Код
export
 function ExtPing(nCommPort : integer; bIsIrDA : Boolean = False): integer; stdcall;
 function ExtGetFreeMemory(nCommPort : integer; bIsIrDA : Boolean = False): longint; stdcall;
 function ExtGetSerialNumber(szData : PAnsiChar; nCommPort : integer;  bIsIrDA : Boolean = False): Boolean; stdcall;
 function ExtGetTime(szData : PAnsiChar; nCommPort : integer;  bIsIrDA : Boolean = False): Boolean; stdcall;
 function ExtUpdateTime(nCommPort : integer;  bIsIrDA : Boolean = False): Boolean; stdcall;



--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Frikazoid
Дата 13.1.2004, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



А как вот из этой ExtGetSerialNumber вункции получить значение szData?
просто меня выкидывает с ерррором когда я пользовал эту функцию так
function ExtGetSerialNumber(szData : PChar; nCommPort : integer; bIsIrDA : Boolean = False): Boolean; stdcall;
или
function ExtGetSerialNumber(szData :LPSTR; nCommPort : integer; bIsIrDA : Boolean = False): Boolean; stdcall;


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
Frikazoid
Дата 14.1.2004, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



Люди! Все равно выкидывает с ошибкой! В szData должно возращаться значение - строка! Как это правильно организовать! Ерор состоит в том, что он не может записать значение по такому-то адрессу!
Попожите плз!


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
<Spawn>
Дата 14.1.2004, 06:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Дак откуда ты эти функции берешь то? Это ведь экспортируемые ДЛЛ-кой функции?


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Unregistered
Дата 14.1.2004, 09:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Frikazoid поищи ответ на своем сайте ;-D
  Вверх
p0s0l
Дата 14.1.2004, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



По ходу дела тут надо выделять память под строку:
Код
var
 str1 : PAnsiChar;
begin
 GetMem (str1, 1024);
 ExtGetSerialNumber (str1, ....);
 ...
 FreeMem (str1, 1024);
end;




--------------------
С уважением, г-н Посол.
PM   Вверх
Frikazoid
Дата 14.1.2004, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



Ну да! Из длл беру! длл написана на VC! ненавижу этот девайс! извиняюсь за выражение, но я с ним е...сь вот уже месяц или 2!
С функциями ExtPing, ExtGetFreeMemory не возникает никаких проблем! вызываются нормально, а вот те функции где есть szData : PAnsiChar; программа вываливается с интернал еррором! что за фигня?


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
<Spawn>
Дата 14.1.2004, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



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


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Гость_Frikazoid
Дата 14.1.2004, 17:55 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
Правильно говорит p0s0l. Попробуй выделить память, послче чего только передать указатель.

Оказывается это глючный длл!
Ладно! разберусь!
  Вверх
Гость_Frikazoid
Дата 17.1.2004, 11:39 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Пипалы!
Никак не получается! ДЛЛ возращает указатель а вот как дальше быть не знаю! sad.gif
Но самый прикол в том, что если в мемо копировать содержимое таким образом
Код
for i:=1 to 100 do memo1.text:=memo1.text+p[i];

то всё показывает, а если так
Код

var s:string;
begin
s:=p;
memo1.text:=s;
end;

то не катит! что я делаю не так?

ЗЫ я везде выделяю память как надо!
Поможите! Я уже отчаялся мля! Впервые вижу такой непослушный девайс!
  Вверх
<Spawn>
Дата 17.1.2004, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Что есть p? Указатель на какой тип данных?


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Гость_Frikazoid
Дата 17.1.2004, 15:20 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











(p) я пробовал объявлять поразному, смысл один PChar, PAnsiChar
  Вверх
p0s0l
Дата 18.1.2004, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Цитата
CODE 
for i:=1 to 100 do memo1.text:=memo1.text+p[i];

то всё показывает

И что, все 100 символов - это все какой-то сер. номер ?
А там до самого текста никаких левых символов не вылазит ?
Если не вылазят, то может там нуля нигде нет в конце строки ?
Попробуй так:
Цитата
PByte(cadinal(p)+100)^ := 0;
s:=p;
memo1.text:=s;

А если вылазят левые символы, то нужно смотреть, что это за символы...



--------------------
С уважением, г-н Посол.
PM   Вверх
Гость_Frikazoid
Дата 19.1.2004, 16:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Нет! там не 100 символов! просто размер строки не фиксирован! А ентот размер не как не могу узнать!
И 2-е. Почему не работает один из вышеперечисленных методов, а другой работает?
И вот этот метод:
Код
for i:=1 to 100 do memo1.lines.add(p[i]);

тоже не работает! ничего не понимаю!
  Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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