![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пишу *.dll помогите с методами [D7, WinXP]
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С()
С этого момента максимально подробно ...