Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 16:52 29.09.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема Проблемнови  
АвторPhill (Нерегистриран)
Публикувано01.03.02 22:29



Здравейте,

Пиша един компонент сега(по-точно преправям един делфийски, а пиша на c++ под c++ Builder) и се нуждая от метод, в който компонента да покаже един модален диалог. Направих си формата под билдера, написах и класа й на паскал в unit-а, намерих как да добавя .dmf файла на формата - {$R име.DFM} и успявам да компилирам компонента без проблеми вече (под c++builder). Но проблема е , че когато инициализирам формата (с Create (Application.MainForm) )в някой метод на компонента ( независимо дали в неговия Create или в друг) ми дава грешка - access violation at .... address in module ... read of address 00000000. Как да се справя с това? Не смятам, че проблема е от това , че не съм с Делфи, ами нещо което изпускам. Не съм чел книги за Делфи, нито за правене на компоненти. Проблемът може да се обобщи до това как да се направи компонент с форма в себе си (принадлежаща на него).
Предварително ви благодаря!



Тема Re: Проблемнови [re: Phill]  
Автор PhantomAS (стар ерген®)
Публикувано02.03.02 00:21



Otnosno CBuilder-a ne moga da sam ti ot polza
Daj powe4e info za componenta - kakwo parawi i kak to4no go prawi

Zna4i - nesto osnowno - izobraziawaneto na ekrana na formi ne e thread safe proces - towa e edno - ako componenta ti raboti w otdelen thread - niama da stane
Drugo - Create - a ne e podhodiast wabste za sazdawane na formi - t.e. - wiz dali waboste Application - <>NIL - t.e. Create-a moze da nastapwa predi inicializaciata na programata - wsi4ko e mnogo uslowno - zawisi kakwo iskash da postignesh - taka 4e malko info ili par4e ot source moze da pomogne.

Mozesh da testwash komponenta si bez da go dobawiash kato biblioteka w CBuildera - a kato go creatwash dinami4no - taka mozesh da trasirash i da ustanowish kade to5no garmi i za kakwo - wremenno si wklu4i path-a do surce-a na komponenta (ako ne e vidim w testowia proekt) za da mozesh da imash dostap do nego - nezawisimo 4e ti prekompilira bibliotekata postoianno. I waobste testwaneto na komponenti go prawi bez da gi zaka4ash w IDE- to - towa e naj sigurnia na4in.

---
Е т'ва е живот!



Тема Re: Проблемнови [re: PhantomAS]  
АвторPhill (Нерегистриран)
Публикувано02.03.02 18:19



ето малко код ...

type
{$R openform.DFM}
TOpenForm = class (TForm)
//дори и гола форма не ще да тръгне
end;
TStringAlignGrid = class(TStringGrid)
.......
OpenForm:TOpenForm;
. .........
procedure OpenFile(FileName:String);
.........
end;
implementation
constructor TStringAlignGrid.Create (AOwner:TComponent);
begin
inherited Create(AOwner);
OpenForm.Create(AOwner);
end;
или пък я create-вам в някой метод,където вече е сигурно, че Аpplication не е NIL(поне се надявам :) ).
procedure TStringAlingGrid.OpenFile (FileName:String);
begin
OpenForm.Create(Application.MainForm);
end;

и така. тва е. Дано знаете какво да направя. Също бих искал да ми кажете някаква хубава книга, която мога да си намеря и тя да е за компоненти . може и за Делфи, дори и да е на английски. Хайде до скоро.



Тема Re: Проблемнови [re: Phill]  
Автор TRN (член)
Публикувано02.03.02 23:12



Не знам дали ще работи за компонента. Aз го ползвам за създаване на форми в програмите си и работи.

With TFormName.Create(Application) do
try
......
finally
Free;
end;



Тема Re: Проблемнови [re: Phill]  
Автор1OO (Нерегистриран)
Публикувано03.03.02 06:11



Mai trqbwa da e taka: OpenForm:=TOpenForm.Create(Owner); ,a ne OpenForm.Create(Owner);


Towa e link kum statiq, malko e starichka ama to principite sa si sustite!
Wig i helpa na Delphi-to.



Тема Re: Проблемнови [re: Phill]  
Автор PhantomAS (стар ерген®)
Публикувано03.03.02 09:14



Kam towa koeto kazaha drugite dobawiam samo edno - neobhodimo li e wsi4ko da e w edin file - niama smisal - po dobre si izwadi formata w otdelen file- niama da ti pre4i (predpolagam) - togawa niama da pishesh na raka resursite !

A wsastnost kade ti dawa AV -to pri Create ili pri izwikwane na samata forma ?

Kolkoto za kniga - specialno za sazdawane na komponenti ima edna (koiato az znam) ama e mnogo stara - Creating Delphi 3 Components ili nesto podobno - maj ne e mnogo goliama - moga da ti ia pratia po postata

Ina4e waw powe4eto "golemi" knigi ima dial za razrabotka na komponenti - towa e.

---
Е т'ва е живот!



Тема Re: Проблем [re: Phill]  
Автор avatarx (Mr.)
Публикувано04.03.02 11:02



Ne vizdam logikata nesto napraveno na Delphi da go prehvyrljash na C++?!? Obratnoto mi se e sluchvalo i na men. A ako ste pravish modalen prozorec , ami napravi si go na C++, sto ti trjabva da razvaljash koda na Delphi?



Тема knigaнови [re: Phill]  
Автор Bятъp (зaпaдeн)
Публикувано04.03.02 12:29



Тази не е лоша:
Мартин Гардън
Delphi Създаване на компоненти

Martin Garden
Delphi in Components

Видях да язди през реки, те седем са на брой...



Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.