Главная страница
    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.006 c
1-60614
Markvolsh
2002-08-07 18:39
2002.08.19
checkboxes and labels


1-60714
Olivka
2002-08-06 23:35
2002.08.19
Чем писать на диски?


1-60616
Bart
2002-08-08 13:30
2002.08.19
Помогите определить запущен файл или нет только по его имени?


1-60663
Сережа
2002-08-05 10:48
2002.08.19
Data Edit или Montch Calendar


4-60910
MARcoDEN
2002-06-10 20:28
2002.08.19
Как узнать хэндл другой программы?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский