(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
VMware Horizon 7 Standard : 10 Pack (CCU)
ABViewer Standart пользовательская
FastCube.Net Standard Edition Single License
SmartBear Collaborator - Named User License (Includes 1 Year Maintenance)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Утиль - лучший бесплатный софт для Windows
Adobe Photoshop: алхимия дизайна
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
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)
 
Работа клиента Сеntura с клиентами Оракл 10, тонким клиентом, net client (3)
Есть клиент, написанный на Centura, исходников нет Работает только с клиентами Оракл 8 и 9 Ни...
 
подключение к Centura SQLBase server 6.1.2 (3)
есть приложение (клиент-банк) с вышеуказанной базой. В приложении для подключения к базе...
 
 
 



    
rambler's top100 Rambler's Top100