Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Вниз

Вопрос для тех кто работал с формами в DLL   Найти похожие ветки 

 
Ghost.   (2002-08-05 17:40) [0]

Почему при рисовании на канвас формы вызваной из dll выдается ошибка или как ее надо правильно вызвать, чтобы можно было рисовать?


 
Skier   (2002-08-05 17:45) [1]

>Ghost
А как ты её вызываешь ?


 
Ghost.   (2002-08-05 17:51) [2]

FUNCTION CreateTheForm: Pointer; Export;
BEGIN
Result := Tvdesk.Create(NIL);
END;

FUNCTION ShowTheForm(P: Pointer): Boolean; Export;
BEGIN
Tvdesk(P).Show;
Result := TRue;
END;


 
Skier   (2002-08-05 18:00) [3]

>Ghost
У host-приложения и у DLL разные таблицы классов и разные
входы в них, поэтому когда ты пытаешься закастить
Pointer, который указывает на форму созданной в DLL, в
host-приложении то - происходит ошибка
(в твоём случае это - класс Tvdesk)

Насколько я знаю в этом случае могут спасти интерфейсы.


 
Ghost.   (2002-08-05 18:08) [4]

Чета ты так загрузил ...дело в том, что программа в dll полностью рабочая и довольно таки большая и ошибок кроме рисования на канвасе формы нет.а что такое интерфейсыя не заню


 
Skier   (2002-08-05 18:15) [5]

>Ghost

> ошибок кроме рисования на канвасе формы


Попробуй это :


Canvas.Lock;
//......рисуешь...
Canvas.Lock;


 
Skier   (2002-08-05 18:16) [6]

>Ghost
Ошибся :)
После Canvas.Lock - Canvas.UnLock;



 
Ghost.   (2002-08-05 18:22) [7]

нет тоже самое пишу
vdesk.Canvas.Lock;
vdesk.canvas.Draw(0,0,ecln.image);
vdesk.Canvas.Unlock;
и ошибка, а если
Image3.Picture.Bitmap.Assign(ecln.image)
которая на форме находится..то все работает..тока моргат


 
Skier   (2002-08-05 18:24) [8]

>Ghost.
Какая ошибка ?


 
Ghost.   (2002-08-05 18:27) [9]

Access violation at address 00e9d054 in module "11.dll". Read of adress 000000238


 
Mystic   (2002-08-06 01:20) [10]

Может помочь флажок Build with runtime packages в Project|Options


 
Ghost.   (2002-08-06 09:30) [11]

Сам разобрался просто из dll явно нельзя обращаться к форме работает просто
canvas.Draw(0,0,ecln.image);



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
1-60692
Edvin
2002-08-06 13:45
2002.08.19
Эмулировать нажатие Ctrl+V


8-60756
_ncux_
2002-04-12 15:51
2002.08.19
Книга по OpenGL из Internet а


1-60634
Relaxer
2002-08-08 14:29
2002.08.19
Хелп.


14-60807
kerby
2002-07-22 17:28
2002.08.19
Как найти имя на DHCP сервере по ip-адресу?


3-60535
yaJohn
2002-07-28 19:15
2002.08.19
КАК заставить обновится TClientDataSet????





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский