Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пишу *.dll помогите с методами [D7, WinXP]


Страницы:   1 2

mdbm ©   (2008-05-26 18:18:00) 

Добрый день.
Я начинающий дельфист.
Владею лишь языком программирования 1С.
Мне необходимо написать библиотеку dll со следующими методами:

ЗагрузитьКартинку(Каталог,ИмяФайла); // загружает картинку (карта города)

НарисоватьКружокНаКартинке(Х,У,Радиус); //рисует на загруженной картинке кружок.

СохранитьФрагмент(Х,У,Ширина,Высота,Каталог,ИмяФайла); //сохраняет фрагмент загруженной картинки в каталог

Принцип работы с данной библиотекой будет такой:
В среде 1С я создаю объект("моя_библиотека.dll")
И начинаю использовать его методы.

1. С помощью метода ЗагрузитьКартинку , я подгружаю картинку в память
2. Рисую на картинке кружок(при необходимости несколько)
3. Сохраняю фрагмент в каталоге.

Загружаю этот фрагмент из каталога в программу 1С

И вот. Решил написать руками на Дельфи 7
И вообще давно уже хотел изучить этот язык
Но чтобы начать...

Помогите кодом данной библиотеки, а уже дальше я буду потихоньку
дорабатывать её и постигать чудеса программирования в Дельфи.

На текущий момент я уже написал скелет библиотеки. (по туторам)
С одним методом ПолучитьХендлГлавногоОкна1С()
Все вроде работает....

Нужна реализация трёх ,указанных выше методов.

С уважением....


mdbm   (2008-05-27 14:02:00) [21]

Ура !!!
Получилось...

procedure TMain.BitmapLoad(var AFileName: OleVariant);

PWideChar не пробовал пока...
Но все равно спасибо Сергей....


Сергей М.   (2008-05-27 13:58:00) [22]


> Мне посоветовали использовать PChar


P WideChar следует использовать


mdbm   (2008-05-27 13:21:00) [23]

Вообщем написал код
Скомпилировал
Вопрос про этот фрагмент:

procedure TMain.LoadBitmap(AFileName: PChar);

Мне посоветовали использовать [B]:PChar[/B] вместо [B]:String[/B]
Я так и сделал...
В результате при попытке использовать dll в программе 1С
при запуске LoadBitmap(ЗдесьПутьККартинке_bmp)
Выскакивает сообщение [B]Плохой тип переменной[/B]

Как быть ?
Где искать ошибку ?


mdbm   (2008-05-27 12:57:00) [24]

Круто....
Привеликое спасибо....Сергей
Буду исследовать.....


Сергей М.   (2008-05-27 09:32:00) [25]

http://sources.codenet.ru/file/941/%C2%ED%E5%F8%ED%E8%E5+%EA%EE%EC%EF%EE%ED%E5%ED%F2%FB.rar


mdbm   (2008-05-26 19:54:00) [26]

Да.


Сергей М.   (2008-05-26 19:35:00) [27]

Я так и не понял, ты Add-On сочиняешь или что ?)


mdbm   (2008-05-26 19:33:00) [28]

Будем двигаться мелкими шагами...


Сергей М.   (2008-05-26 19:28:00) [29]


> работа со звуком, графикой и т.д.


До звука и графики тебе еще как до китая на карачках.

Ты еще даже принципы взаимодействия двух программных модулей не освоил, а уже за звук и графику взялся.


mdbm   (2008-05-26 19:25:00) [30]

Понял...спасибо за поправку...


mdbm   (2008-05-26 19:24:00) [31]

Конференция "Media"
работа со звуком, графикой и т.д.


Сергей М.   (2008-05-26 19:23:00) [32]


> библиотеку dll со следующими методами


У библиотеки dll нет никаких методов.
У нее могут быть только экспортируемые регулярные процедуры и функции.

Методы есть у объекта.

Где, как и какой объект ты создаешь - вообще темный лес.

А что, страшное слово "1C Add-On" ты выговорить не в состоянии ?
Или в 1-й раз его слышишь ?


Сергей М.   (2008-05-26 19:20:00) [33]


> может не так описал


Да еще и не там.

Какое отношение твоя "проблема" имеет к "Media" - вобще не понятно.


mdbm   (2008-05-26 19:15:00) [34]

ну может не так описал. ))
сорь...


Сергей М.   (2008-05-26 19:10:00) [35]

Эт что за шматок неизвестно чего ?

Где тут хоть какой-либо намек на "ПолучитьХендлГлавногоОкна" ?


mdbm   (2008-05-26 19:07:00) [36]

)))

function TMain.h1C: Integer;
var wnd:hwnd;
begin
_pExtWndsSupport._AddRef;
_pExtWndsSupport.GetAppMainFrame(wnd);
RESULT:=wnd;
end;


Сергей М.   (2008-05-26 19:02:00) [37]


> На текущий момент я уже написал скелет библиотеки. (по туторам)
> С одним методом ПолучитьХендлГлавногоОкна1С()


С этого момента максимально подробно ...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо