KOL

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 1. juni 2019; checks kræver 7 redigeringer .
KOL
Type Bibliotek
Udvikler Vladimir Kladov
Skrevet i Pascal
Operativ system Windows , Windows Mobile , Linux
nyeste version 3.23.5 (27.02.2015)
Stat aktiv [1]
Licens Freeware
Internet side sourceforge.net/projects...

KOL (Key Objects Library) er et objekttypebibliotek til programmering i Delphi- og Lazarus -miljøet . Hovedmålet med KOL er at reducere størrelsen af ​​det endelige program ( Win32 , GUI ) med 5-10 gange i forhold til, hvad VCL- biblioteket giver . Alle 32-bit versioner af Delphi er understøttet , fra Delphi 2 til BDS 2010.

MCK (Mirror Classes Kit) er et sæt spejlklasser, der giver dig mulighed for visuelt at udvikle et projekt baseret på KOL-biblioteket. MCK-komponenter er installeret på komponentpaletten, arbejdet med dem er det samme, som det normalt gøres i Delphi under visuel udvikling. I det kompilerede projekt er visuelle komponenter erstattet af deres ikke-visuelle modstykker fra KOL. Brug af MCK reducerer størrelsen af ​​det eksekverbare program på samme måde som at bruge KOL ikke-visuelt. Fordelen er visuel udvikling, ulempen er afhængigheden af ​​Delphi-versionen (Delphi2, Delph3, Delphi4, Delphi5, Delphi6, Delphi7, BDS 2005-2012, Kylix og Free Pascal Compiler 1.0.5 og højere understøttes).

KOL-projektet har været drevet af programmøren Vladimir Kladov i omkring ti år. KOL og MCK projekter indeholder hundredvis af komponenter.

Årsag til oprettelse

Et problem med systemer som RAD  er størrelsen af ​​applikationens eksekverbare. Hovedsynderen for dette er implementeringen af ​​OOP- teknologier af visuelle designbiblioteker ( VCL , MFC , Qt ). En af grundene er det højabstraktionsarvesystem, som markant øger koden for basisklasser. I betragtning af det ret imponerende hierarki af VCL grafiske komponenter er deres store størrelse ganske forståelig. Den anden grund er implementeringen af ​​virtuelle metoder af Delphi - kompileren . Almindelige, ikke-virtuelle metoder kan udelukkes af Delphi på linktidspunktet, hvis de ikke kaldes nogen steder i koden. Virtuelle metoder er hårdkodet i VMT, hvis størrelse compileren ikke kan genberegne, så virtuelle metoder er altid inkluderet i den kompilerede kode, selvom de faktisk ikke kaldes nogen steder.

KOL/MCK-udvikleren kunne tilbyde en kompromisløsning, der giver en analog af VCL med mulighed for visuelt design, men med outputstørrelsen på det eksekverbare modul 5-10 gange mindre end med VCL. Både optimering af mange sektioner i assembler og en interessant løsning med den faktiske afvisning af arv i traditionel forstand spillede en rolle her: alle visuelle KOL-komponenter er forekomster af en enkelt enorm TControl, der implementerer funktionaliteten af ​​alle grænsefladeelementer i OS'et på enkelt gang. Vi kan sige, at KOL-løsningen er et OO-tillæg over vindueshåndtaget (håndtaget) "på panden", som ikke skelner mellem forskellige klasser af interface-elementer, ligesom selve OS ikke gør. KOL er formentlig det eneste objektorienterede bibliotek med sådan en arkitektur.

XHelpGen

Til KOL-biblioteket (mere præcist, oprindeligt for dets forgænger, XCL-biblioteket), udviklede Vladimir Kladov XHelpGen-dokumentationsgeneratoren, hvis princip ligner Doxygen .

Hjælpefiler genereres automatisk baseret på kommentarer af typen {* }, placeret i kildeteksterne i interfacedelen af ​​modulerne. (symbolet *er valgfrit og kan erstattes af et hvilket som helst andet; desuden er det muligt at bruge flere forskellige symboler, f.eks. til at lokalisere hjælpefiler).

Generering udføres automatisk baseret på kommentarer til kildekoden (på Delphi Pascal-sprog ), og sker, når xHelpGen ved opstart registrerer, at eventuelle kildefiler i den scannede mappe er ændret. Hjælp genereres i HTML -format og er tilgængelig for visning fra enhver browser .

Litteratur

Se også

Noter

  1. *fix

Links