Вопрос № 113511: У меня имеется Dll'ка написанная в Visual C++'е. Если обращаться к её функциям с помощью LoadLibrary(... и т.д. всё работает нормально, но если объявить как
function Xxxx(V: Tttttt): Tttttt;stdcall; external 'Xxxx.dll' name 'Xxxx';, то
запус...Вопрос № 113577: Здравствуйте господа эксперты. У меня на первый взгляд постой вопрос, как программно можно в компоненте Image удалять картинки? ...Вопрос № 113607: Уважаемые эксперты если кто сталкивался с проблемой направьте на путь истинный.
Как из приложения на делфи поднять справочник 1с (таблицу) и выбрав какую нибудь строку в нем вернуть значение в программу ?...
Вопрос № 113.511
У меня имеется Dll'ка написанная в Visual C++'е. Если обращаться к её функциям с помощью LoadLibrary(... и т.д. всё работает нормально, но если объявить как
function Xxxx(V: Tttttt): Tttttt;stdcall; external 'Xxxx.dll' name 'Xxxx';, то
запускается и работает, но при закрытии ругается как Privileged instruction! Если stdcall заменить на safecall, то всё работает отлично.
В чём тут дело???
Просто существует так называемое "соглашение о вызовах" (calling conventions). Это понятие в программировании, которое говорит о том, какие параметры и в каком формате передаются от программы к подпрограмме. Особенно важным является в том случае, когда передающая программа и подпрограмма написаны на разных языках. Разница между ними в способах работы со стеком, порядке передаваемых параметров, обработке регистров.
Поэтому при использовании "чужой"
библиотеки и рекомендуется использовать безопасный вызов - safecall. Выдержка из справки Delphi в приложении.
Good Luck!!!
Приложение:
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Академик) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) WWW:http://gh0stik.rusfaq.ru/ ICQ: 289363162 ---- Ответ отправлен: 11.12.2007, 22:56
Вопрос № 113.577
Здравствуйте господа эксперты. У меня на первый взгляд постой вопрос, как программно можно в компоненте Image удалять картинки?
Отправлен: 12.12.2007, 12:48
Вопрос задал: Genia007 (статус: 2-ой класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Ответ отправил: Selya (статус: 2-ой класс)
Ответ отправлен: 12.12.2007, 12:55 Оценка за ответ: 3 Комментарий оценки: Спасибо, но пример не работает, Делфи матерится, что у Image нет параметра Handle.
Отвечает: Vas177
Здравствуйте, Genia007!
Удалить можно так:
Image1.Picture := nil;
Ответ отправил: Vas177 (статус: 3-ий класс)
Ответ отправлен: 12.12.2007, 12:58 Оценка за ответ: 5 Комментарий оценки: Спасибо. Всё класно работает. Перепробовал много функций, но до этого не додумался.
Вопрос № 113.607
Уважаемые эксперты если кто сталкивался с проблемой направьте на путь истинный.
Как из приложения на делфи поднять справочник 1с (таблицу) и выбрав какую нибудь строку в нем вернуть значение в программу ?
Отправлен: 12.12.2007, 15:27
Вопрос задал: Кэр Лаэда (статус: Практикант)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 23)
Отвечает: Mishell
Здравствуйте, Кэр Лаэда!
см. пример в приложении
это вытягивание инфы через оле, но можно залезть и напрямую в базу - так быстрее будут данные выбираться, но найти сами данные - сложнее
п.с.: само-собой в приложении приблизетельный код, но проверенный - смотрите внимательно и модифицируйте под себя
Приложение:
Ответ отправил: Mishell (статус: 8-ой класс)
Ответ отправлен: 12.12.2007, 16:05