(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 

Конференция "Gupta/Centura (Gupta Technologies)"

Обсуждение вопросов, связанных с компанией Unify/Gupta (Gupta Technologies), ее продуктами Team Developer, SQLBase и др.

 
 
Добавить сообщение »

Тема: CTD2k+MSVC 6.0 - передача большшого буфера из dll...

Автор:  Mihail Rusakov Дата: 30.06.2001 06:34
Есть проблема. Для программы, написаной на Centura пишу DLL на Visual C++ 6.0
В dll функция создает картинку и сохраняет ее в памти, на которую есть указатель LPVOID.


код:
--------------------------------------------------------------------------------
#ifdef _MAC
#define EXPORTAPI CALLBACK
#elif WIN32
#define EXPORTAPI APIENTRY
#elif defined(_WINDLL)

#define EXPORTAPI _far _pascal _export _loadds
/* If compiling an exported function for a Windows EXE with the -GA option, */
/* specify _export so correct prolog/epilog code will be generated. */
#elif defined(_WINDOWS)
#define EXPORTAPI _far _pascal _export
/* If neither of the above, define EXPORTAPI as _far _pascal so prototypes */
/* included by library routines compiled with the -Gq option will compile */
/* correctly. */
#else
#define EXPORTAPI _far _pascal
#endif

void EXPORTAPI GetPicture(LPSTR lpszStrParam, LPVOID &pict, int iHeight, int iLineWidth, int iType, long &size)
--------------------------------------------------------------------------------


Вот, собственоо. Из сентуры я ее вызываю так:

код:
--------------------------------------------------------------------------------
Function: __GetPicture
Description:
Export Ordinal: 1
Returns
Parameters
String: LPSTR
Receive String: LPVOID
Number: INT
Number: INT
Number: INT
Receive Number: LPLONG
--------------------------------------------------------------------------------


Проблема вот в чем: после вызова функции в строке изменяются только первые четыре байта, хотя размер памяти, которую я копирую в строку около 14 Кб.
Я пока сделал через файл. Т. е. DLL создает файл на диске, в который скидывыется буфер. А потом я его читаю в сентуре. Но сами понимаете, что это изврат (да еще какой!!!)
С чем это связано может быть, и как решить эту проблему?
Ну, посоветуйте что-нить...
Ответить на сообщение »
 

Добавить сообщение »

 Распечатать »
 Правила публикации »
   
 Рекомендовать »  
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Q 1.0 for Windows Single User
Allround Automation PL/SQL Developer - Annual Service Contract - Single user
FastCube.Net Standard Edition Single License
SmartBear Collaborator - Named User License (Includes 1 Year Maintenance)
The BAT! Home- 1 компьютер
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Новые программы для Windows
Проект mic-hard - все об XP - новости, статьи, советы
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Работа в интернете.. (4)
Может тут кто имеет опыт работы в сети? И подскажет мне что нить?
 
Кто, что знает за карту рассрочки Совесть? (2)
Иногда требуется купить что-то очень нужное, но выделить средства нет возможности. В этом случае...
 
ODBC: dBase CREATE TABLE... (9)
Есть проблема Из программы на CTD 2.0 PTF3 подключаемся к DBF-файлам Set SqlDatabase='Файлы...
 
TD 6.2 SP4 Ошибка при установке (5)
Добрый день! Кто-нибудь устанавливал TD 6.2 SP4 на Win7? В конце процесса установке выдаётся...
 
PMC (4)
Подскажите как формируется Product Media Code или ключик к SqlWindows 510 ( CTD510)
 
 
 



    
rambler's top100 Rambler's Top100