Տուն
Top.Mail.Ru Moscow
Ֆորում: «Գլխավոր»;
Ընթացիկ արխիվը `2004.12.12;
Բեռնել: [xml.tar.bz2];

Down

Չհաջողվեց TFont- ին տալ TFont- ին Գտնել նմանատիպ մասնաճյուղեր


Pupkov ©   (2004-11-28 23:20) [0]

Ես այստեղ մեկ խնդիր ունեմ:
Եկեղեցին օրեցօր մի ծրագիր է, որը աշխատում է պլագիններով: The plugin- ը նախատեսված է որպես DLL: Դիմումի եւ պլլիգի հաղորդակցման ինտերֆեյսները կազմակերպելու համար ես նախագծել եմ երկու դաս:
1. TESPluginAppInterface = դաս
հանրային
PluginType: 1..3;
ընթացակարգ AddControl (AControl: TControl), վիրտուալ, stdcall;
վերջ
Ինտերֆեյսի պլոմբի կազմակերպման համար `> դիմում: Դրա մեթոդները կիրառվում են կիրառական մոդուլում, եւ plug-in մոդուլի մեջ նրա մեթոդները նկարագրվում են որպես վերացական

2. TESAppPluginInterface = դաս
հանրային
ընթացակարգ LoadFromFile (FileName: String; WinCtrl: TWinControl), վիրտուալ, stdcall, վերացական;
վերջ
Ինտերֆեյսը կազմակերպելու համար դիմումը -> plugin- ը: Դրա մեթոդները կիրառվում են plug-in մոդուլի մեջ, իսկ կիրառման մոդուլի մեջ նրա մեթոդները նկարագրվում են որպես վերացական:

Դե, այդպես: Երբ հայտը պետք է բացել ֆայլ, այն կոչվում է plug-in, օգտագործելով TAFPluginInterface դասի LoadFromFile մեթոդը, ֆայլի անունը եւ պատուհանը կառավարումը փոխանցվում են որպես պարամետրեր: Մեթոդն իրականացվում է այսպիսի պլագինի ներսում:

ընթացակարգ TESAppPluginInterface.LoadFromFile (FileName: String;
WinCtrl: TWinControl), վիրտուալ, stdcall, վերացական;
էր
Control: TControl
սկսել
Control: = TControl.Create (WinCtrl);
PluginAppInterface.AddControl (Վերահսկիչ);
վերջը.

Ահա, եթե plugin- ն անհրաժեշտ է ստեղծել որոշակի վերահսկողություն եւ տեղադրել այն կիրառման մեջ, ապա այն ստեղծում է այն եւ օգտագործելով TPluginAppInterface դասի AddControl մեթոդը այն անցնում է դիմումին: Այս մեթոդը կիրառվում է կիրառման ներսում, ինչպես այսպես.

ընթացակարգ TESPluginAppInterface.AddControl (AControl: TControl), վիրտուալ, stdcall;
սկսեք
Control.Parent: = Panel1;
վերջ

Այսինքն, վերահսկողությունը ստանալը, դիմումը ինքն է որոշում, թե որտեղ է այն ծալել եւ կտրել (մասնավորապես, այն պակասում է Panel1- ում):
Այսպիսով line Control.Parent: = Panel1- ի գործարկման ժամանակ առաջացնում է սխալ: «Չի կարող TFont- ին փոխանցել TFont- ին»:. Մանրադիտակի տակ սերտորեն ուսումնասիրելուց հետո պարզվեց, որ Control.InsertControl մեթոդը սխալ է կոչում: Ամբողջ երեկոն պայքարում էր սխալի պատճառի բացահայտման հետ կապված, բայց դա չի դադարեցրել այն, ինչու դա տեղի է ունենում:



jack128 ©   (2004-11-29 00:23) [1]

Դուք պետք է կազմեք հավելվածը եւ պլագինները `վազքի ժամանակի փաթեթներով:



Игорь Шевченко ©   (2004-11-29 01:30) [2]


Ամբողջ երեկոն պայքարում էր սխալի պատճառը բացահայտելու համար


Exe- ի TFont- ում տեղադրված է մեկ հասցեով, DLL- ով: IS- ի գործողությունները համեմատում են հասցեները, եթե դրանք չեն համապատասխանում, ապա TFont- ը տարբերվում է:



REA   (2004-11-29 10:10) [3]

Եթե ​​դուք պլանավորում եք դասեր օգտագործել պլյուսի մեջ, ապա ավելի լավ է օգտագործել DLL- ի կամ COM- տեխնոլոգիայի փոխարեն փաթեթներ: Բոլոր մեթոդները, սակայն, ունեն իրենց առավելություններն ու թերությունները:



Amoeba ©   (2004-11-29 10:51) [4]

Http://www.delphikingdom.com- ում («Corner Delphi») առկա են պակասի ստեղծման եւ օգտագործման վերաբերյալ երկու լուրջ հոդվածներ: Բարձր խորհուրդ.



Էջեր: 1 ամբողջ ճյուղը

Ֆորում: «Գլխավոր»;
Ընթացիկ արխիվը `2004.12.12;
Բեռնել: [xml.tar.bz2];

Up





Հիշողություն `0.56 ՄԲ
Ժամանակը `0.065 գ
14-1101161834
Ծայր
2004-11-23 01:17
2004.12.12
Ես վերադարձա:


6-1096625251
Լեոնիդուս
2004-10-01 14:07
2004.12.12
Ծրագրի ինտեգրումը Օպերայի հետ


1-1101491736
Ալեքս Հավկը
2004-11-26 20:55
2004.12.12
Ինչպես կատարել վերնագրեր


1-1101389411
Layner
2004-11-25 16:30
2004.12.12
Պտտվում է TPanel- ում


4-1098963515
արծվառյուծ
2004-10-28 15:38
2004.12.12
Պարզեք ճանապարհը Excel- ում





afrikaans ալբանական արաբական հայերեն ադրբեջանական Բասկերի Բելառուսի Բուլղարիայի catalan Չինարեն (պարզեցված) Չինարեն (ավանդական) Խորվաթիայի չեխ դանիերեն հոլանդական Անգլերեն
Էստոնիայի filipino ֆիններեն ֆրանսերեն
galician վրացական գերմանական հունարեն haitian Creole եբրայերեն հինդի հունգարերեն icelandic հայերեն իռլանդական իտալական ճապոնացի Կորեայի Լատվիայի Լիտվայի մակեդոներեն Մալայերեն մալթերեն նորվեգական
պարսկական Լեհաստանի պորտուգալացի ռումինական ռուսական սերբերեն Սլովակիայի Սլովենիայի իսպաներեն սուահիլի շվեդերեն թայերեն թուրքական ուկրաինական ուրդու վիետնամերեն ուելսերեն հայերեն bengali բոսնիերեն
Cebuano Esperanto գուջարաթի հաուսա Hmong Igbo ճավաերեն kannada Khmer Lao լատիներեն մաորի մարաթի մոնղոլական նեպալերեն Punjabi Somali tamil telugu յորուբա
զուլուսերեն
Անգլերեն Французский Немецкий Итальянский Португальский Русский Испанский