classes.xml 217 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101
  1. <?xml version="1.0" encoding="ISO8859-1"?>
  2. <fpdoc-descriptions>
  3. <module name="Classes">
  4. <short>Basic classes for FCL </short>
  5. <descr>
  6. <p>This documentation describes the FPC <file>classes</file> unit.
  7. The <file>Classes</file> unit contains basic classes for the Free Component
  8. Library (FCL):
  9. </p>
  10. <ul>
  11. <li> a <link id="TList"/> class for maintaining lists of pointers, </li>
  12. <li> <link id='TStringList'/> for lists of strings, </li>
  13. <li> <link id='TCollection'/> to manage collections of objects </li>
  14. <li> <link id="TStream"/> classes to support streaming.</li>
  15. </ul>
  16. <p>
  17. Furthermore it introduces methods for object persistence, and classes
  18. that understand an owner-owned relationship, with automatic memory
  19. management.
  20. </p>
  21. </descr>
  22. <element name="TRTLCriticalSection">
  23. <short>A class for managing multiple threads</short>
  24. <descr>This class is not yet implemented.</descr>
  25. </element>
  26. <element name="HRSRC">
  27. <short>Type to manage resources</short>
  28. <descr>This type is provided for Delphi compatibilty, it is used for resource
  29. streams.
  30. </descr>
  31. </element>
  32. <element name="THandle">
  33. <short>Type to manage streams.</short>
  34. <descr>This type is used as the handle for <link
  35. id='THandleStream'>THandleStream</link> stream descendents</descr>
  36. </element>
  37. <element name="TComponentName">
  38. <short>Special type for component names.</short>
  39. <descr>Names of components are of type <var>TComponentName</var>. By
  40. specifying a different type, the Object inspector can handle this property
  41. differently than a standard string property.
  42. </descr>
  43. </element>
  44. <element name="IUnknown">
  45. <short><var>IUnknown</var> Interface</short>
  46. <descr>IUknown is not yet implemented since interfaces are not yet supported
  47. by FPC.
  48. </descr>
  49. </element>
  50. <element name="TGUID">
  51. <short>Special type for GUID's.</short>
  52. <descr>FPC doesn't support GUID yet.
  53. </descr>
  54. </element>
  55. <element name="HMODULE">
  56. <short>Special type for handling modules.</short>
  57. <descr>
  58. FPC doesn't support modules yet, so this is a dummy type.
  59. </descr>
  60. </element>
  61. <element name="TPoint">
  62. <short>Special type to handle a fake <link id='TComponent'/>
  63. position</short>
  64. <descr>
  65. <p>This record describes a coordinate. It is used to handle the <link
  66. id='TComponent.Top'>Top</link> and <link id='TComponent.Left'>Left</link>
  67. properties of <link id='TComponent'/>.
  68. </p>
  69. <p>
  70. <var>X</var> represents the X-Coordinate of the point described by the record.
  71. <var>Y</var> represents the Y-Coordinate of the point described by the record.
  72. </p>
  73. </descr>
  74. </element>
  75. <element name="TSmallPoint">
  76. <short>Type to describe point in a small plane.</short>
  77. <descr>Same as <link id='TPoint'/>, only the X and Y ranges are limited to
  78. 2-byte integers instead of 4-byte integers.
  79. </descr>
  80. </element>
  81. <element name="TRect">
  82. <short>Descibes a rectangle</short>
  83. <descr>
  84. <var>TRect</var> describes a rectangle in space with its upper-left (in
  85. (<var>Top</var>,<var>Left></var>)) and lower-right (in (<var>Bottom</var>
  86. ,<var>Right</var>)) corners.
  87. </descr>
  88. </element>
  89. <element name="MaxListSize">
  90. <short>
  91. Maximum number of elemens in list.
  92. </short>
  93. <descr>
  94. This constant sets the maximum number of elements in a <link id='TList'/>.
  95. </descr>
  96. </element>
  97. <element name="scShift">
  98. <short>
  99. Indicates Shift key in a keyboard shortcut.
  100. </short>
  101. </element>
  102. <element name="scCtrl">
  103. <short>
  104. indicates CTRL key in a keyboard shortcut.
  105. </short>
  106. </element>
  107. <element name="scAlt">
  108. <short>
  109. Indicates ALT key in a keyboard shortcut.
  110. </short>
  111. </element>
  112. <element name="scNone">
  113. <short>
  114. Indicates no special key is presed in a keyboard shortcut.
  115. </short>
  116. </element>
  117. <element name="soFromBeginning">
  118. <short>
  119. <link id='TStream.Seek'>Seek</link> starts relative to the stream origin.
  120. </short>
  121. </element>
  122. <element name="soFromCurrent">
  123. <short>
  124. <link id='TStream.Seek'>Seek</link> starts relative to the current position in
  125. the stream.
  126. </short>
  127. </element>
  128. <element name="soFromEnd">
  129. <short>
  130. <link id='TStream.Seek'>Seek</link> starts relative to the stream end.
  131. </short>
  132. </element>
  133. <element name="fmCreate">
  134. <short>
  135. <link id='TFileStream.Create'/> creates a new file if needed.
  136. </short>
  137. </element>
  138. <element name="fmOpenRead">
  139. <short>
  140. <link id='TFileStream.Create'/> opens a file with read-only access.
  141. </short>
  142. </element>
  143. <element name="fmOpenWrite">
  144. <short>
  145. <link id='TFileStream.Create'/> opens a file with write-only access.
  146. </short>
  147. </element>
  148. <element name="fmOpenReadWrite">
  149. <short>
  150. <link id='TFileStream.Create'/> opens a file with read-write access.
  151. </short>
  152. </element>
  153. <element name="toEof">
  154. <short>
  155. Token returned by <link id='TParser.Token'/>, meaning the end of the input stream was reached.
  156. </short>
  157. </element>
  158. <element name="toEof">
  159. <short>
  160. Value returned by <link id='TParser.Token'/> when the end of the input stream was reached.
  161. </short>
  162. </element>
  163. <element name="toSymbol">
  164. <short>
  165. Value returned by <link id='TParser.Token'/> when a symbol was found in the input stream.
  166. </short>
  167. </element>
  168. <element name="toString">
  169. <short>
  170. Value returned by <link id='TParser.Token'/> when a string was found in the
  171. input stream.
  172. </short>
  173. </element>
  174. <element name="toInteger">
  175. <short>
  176. Value returned by <link id='TParser.Token'/> when an integer was found in the
  177. input stream.
  178. </short>
  179. </element>
  180. <element name="toFloat">
  181. <short>
  182. Value returned by <link id='TParser.Token'/> when a floating point value was found in the
  183. input stream.
  184. </short>
  185. </element>
  186. <element name="FilerSignature">
  187. <short>
  188. Constant that is found at the start of a binary stream containing a
  189. streamed component.
  190. </short>
  191. </element>
  192. <element name="TAlignment">
  193. <short>Type to specify text alignment in controls that display text.</short>
  194. <descr>
  195. <p>
  196. The <var>TAlignment</var> type is used to specify the alignment of
  197. the text in controls that display a text.
  198. </p>
  199. <table>
  200. <caption><var>TALignment</var> values and their meanings.</caption>
  201. <th><td>Value</td><td>Meaning</td></th>
  202. <tr><td><var>taLeftJustify</var></td><td>Text is displayed aligned to the left.</td></tr>
  203. <tr><td><var>taRightJustify</var></td><td>Text is displayed aligned to the right.</td></tr>
  204. <tr><td><var>taCenter</var></td><td>Text is displayed centered.</td></tr>
  205. </table>
  206. </descr>
  207. </element>
  208. <element name="TShiftState">
  209. <short>
  210. Indicates what special keys were pressed in combination with a normal key
  211. </short>
  212. <descr>
  213. <p>
  214. This type is used when describing a shortcut key or when describing what
  215. special keys are pressed on a keyboard when a key event is generated.
  216. </p>
  217. <p>
  218. The set contains the special keys that can be used in combination with a
  219. 'normal' key.
  220. </p>
  221. <table>
  222. <th><td>Set element</td><td>Key pressed</td></th>
  223. <tr><td>ssShift</td><td>Either left or right shift key</td></tr>
  224. <tr><td>ssAlt</td><td>Either left or right ALT key</td></tr>
  225. <tr><td>ssCTRL</td><td>Either left or right CTRL key</td></tr>
  226. <tr><td>ssLeft</td><td>Either left or right shift key</td></tr>
  227. <tr><td>ssRight</td><td></td></tr>
  228. <tr><td>ssMiddle</td><td></td></tr>
  229. <tr><td>ssDouble</td><td></td></tr>
  230. <tr><td>ssMeta</td><td>The META key</td></tr>
  231. <tr><td>ssSuper</td><td></td></tr>
  232. <tr><td>ssHyper</td><td></td></tr>
  233. <tr><td>ssAltGr</td><td>The AltGr (right Alt) key</td></tr>
  234. <tr><td>ssCaps</td><td>The CapsLock key</td></tr>
  235. <tr><td>ssNum</td><td>The NumLock key</td></tr>
  236. <tr><td>ssScroll</td><td>The ScrollLock key</td></tr>
  237. </table>
  238. </descr>
  239. </element>
  240. <element name="TNotifyEvent">
  241. <short>
  242. Standard event handler type.
  243. </short>
  244. <descr>
  245. Most event handlers are implemented as a property of type
  246. <var>TNotifyEvent</var>. When this is set to a certain method of a class,
  247. when the event occurs, the method will be called, and the class that generated
  248. the event will pass itself along as the <var>Sender</var> argument.
  249. </descr>
  250. <seealso>
  251. <link id="THelpEvent"/>
  252. <link id="TGetStrProc"/>
  253. </seealso>
  254. </element>
  255. <element name="THelpEvent">
  256. <short>
  257. Special event for display of online help.
  258. </short>
  259. <descr>
  260. This event is used for display of online help.
  261. </descr>
  262. <seealso>
  263. <link id="TNotifyEvent"/>
  264. <link id="TGetStrProc"/>
  265. </seealso>
  266. </element>
  267. <element name="TGetStrProc">
  268. <short>
  269. Event for retrieving string values.
  270. </short>
  271. <descr>
  272. This event is used as a callback to retrieve string values. It is used,
  273. among other things, to pass along string properties in property editors.
  274. </descr>
  275. <seealso>
  276. <link id="THelpEvent"/>
  277. <link id="TNotifyEvent"/>
  278. </seealso>
  279. </element>
  280. <element name="EStreamError">
  281. <short>
  282. Exception raised when an error occurs during read or write operations on a
  283. stream.
  284. </short>
  285. <descr>
  286. <p>
  287. An <var>EStreamError</var> is raised when an error occurs during reading
  288. from or writng to a stream: Possible causes are
  289. </p>
  290. <ol>
  291. <li>Not enough data is available in the stream.</li>
  292. <li>Trying to seek beyond the beginning or end of the stream.</li>
  293. <li>Trying to set the capacity of a memory stream and no memory is
  294. available.</li>
  295. <li>Trying to write to a resource stream.</li>
  296. </ol>
  297. </descr>
  298. <seealso>
  299. <link id="EFCreateError"/>
  300. </seealso>
  301. </element>
  302. <element name="EFCreateError">
  303. <short>
  304. Exception raised when an error occurred during creation of a <link id="TFileStream"/>
  305. stream.
  306. </short>
  307. <descr>
  308. When the operating system reports an error during creation of a new file in
  309. the <link id="TFileStream.Create">Filestream Constructor</link>, a
  310. <var>EFCreateError</var> is raised.
  311. </descr>
  312. <seealso>
  313. <link id="EStreamError"/>
  314. <link id="EFOpenError"/>
  315. </seealso>
  316. </element>
  317. <element name="EFOpenError">
  318. <short>
  319. Exception raised when an error occurred during creation of a <link id="TFileStream"/>
  320. </short>
  321. <descr>
  322. When the operating system reports an error during the opening of a file in
  323. the <link id="TFileStream.Create">Filestream Constructor</link>, a
  324. <var>EFOpenError</var> is raised.
  325. </descr>
  326. <seealso>
  327. <link id="EStreamError"/>
  328. <link id="EFCreateError"/>
  329. </seealso>
  330. </element>
  331. <element name="EFilerError">
  332. <short>
  333. Exception raised by the component streaming system if an error occurs.
  334. </short>
  335. <descr>
  336. This class serves as an ancestor class for exceptions that are raised
  337. when an error occurs during component streaming.
  338. A <var>EFilerError</var> exception is raised when a class is registered
  339. twice.
  340. </descr>
  341. <seealso>
  342. <link id="EStreamError"/>
  343. <link id="EReadError"/>
  344. </seealso>
  345. </element>
  346. <element name="EReadError">
  347. <short>
  348. Exception raised if an error occurs while reading from a stream.
  349. </short>
  350. <descr>
  351. <p>If an error occurs when reading from a stream, a <var>EReadError</var>
  352. exception is raised. Possible causes for this are:</p>
  353. <ol>
  354. <li> Not enough data is available when reading from a stream</li>
  355. <li> The stream containing a component's data contains invalid data.
  356. this will occurr only when reading a component from a stream.</li>
  357. </ol>
  358. </descr>
  359. <seealso>
  360. <link id="EFilerError"/>
  361. <link id="EWriteError"/>
  362. </seealso>
  363. </element>
  364. <element name="EWriteError">
  365. <short>
  366. Exception raised when an error occurs during writing to a stream.
  367. </short>
  368. <descr>
  369. <p>If an error occurs when writing to a stream, a <var>EWriteError</var>
  370. exception is raised. Possible causes for this are:
  371. </p>
  372. <ol>
  373. <li> The stream doesn't allow writing.</li>
  374. <li> An error occurred when writing a property to a stream.</li>
  375. </ol>
  376. </descr>
  377. <seealso>
  378. <link id="EFilerError"/>
  379. <link id="EReadError"/>
  380. </seealso>
  381. </element>
  382. <element name="EClassNotFound">
  383. <short>
  384. Exception raised when an unknown class is referenced in a streamed
  385. component.
  386. </short>
  387. <descr>
  388. When the streaming system needs to create a component, it looks for the
  389. class pointer (VMT) in the list of registered classes by its name. If this
  390. name is not found, then an <var>EClassNotFound</var> is raised.
  391. </descr>
  392. <seealso>
  393. <link id="EFilerError"/>
  394. </seealso>
  395. </element>
  396. <element name="EMethodNotFound">
  397. <short>
  398. This exception is no longer used.
  399. </short>
  400. <descr>
  401. This exception is no longer used in the streaming system. This error is
  402. replaced by a <link id="EReadError"/>.
  403. </descr>
  404. <seealso>
  405. <link id="EFilerError"/>
  406. <link id="EReadError"/>
  407. </seealso>
  408. </element>
  409. <element name="EInvalidImage">
  410. <short>
  411. Exception raised when the resource header needed for streaming of a
  412. component is invalid.
  413. </short>
  414. <descr>
  415. This exception is not used by Free Pascal but is provided for Delphi
  416. compatibility.
  417. </descr>
  418. </element>
  419. <element name="EResNotFound">
  420. <short>
  421. Exception raised when a resource, needed to initialize a component, is not found.
  422. </short>
  423. <descr>
  424. This exception is not used by Free Pascal but is provided for Delphi
  425. compatibility.
  426. </descr>
  427. </element>
  428. <element name="EListError">
  429. <short>
  430. Exception raised when an error occurs in lists handling.
  431. </short>
  432. <descr>
  433. <p>
  434. If an error occurs in one of the <link id='TList'/> or <link id='TStrings'/>
  435. methods, then a <var>EListError</var> exception is raised. This can occur in
  436. one of the following cases:
  437. </p>
  438. <ol>
  439. <li>There is not enough memory to expand the list.</li>
  440. <li>The list tried to grow beyond its maximal capacity.</li>
  441. <li>An attempt was made to reduce the capacity of the list below the
  442. current element count.</li>
  443. <li>An attempt was made to set the list count to a negative value.</li>
  444. <li>A non-existent element of the list was referenced. (i.e. the list index
  445. was out of bounds)</li>
  446. <li>An attempt was made to move an item to a position outside the list's
  447. bounds.</li>
  448. </ol>
  449. </descr>
  450. <seealso>
  451. <link id="TList"/>,
  452. <link id="TStrings"/>
  453. </seealso>
  454. </element>
  455. <element name="EBitsError">
  456. <short>
  457. Exception raised when an error occurs in a method of <link id="TBits"/>.
  458. </short>
  459. <descr>
  460. When an index of a bit in a <link id="TBits"/> is out of the valid range
  461. (<var>0</var> to <var>Count-1</var>) then a <var>EBitsError</var> exception
  462. is raised.
  463. </descr>
  464. </element>
  465. <element name="EStringListError">
  466. <short>
  467. Exception raised when an error occurs in a method of <link id="TStrings"/>.
  468. </short>
  469. <descr>
  470. <p>
  471. When an error occurs in one of the methods of <link id="TStrings"/> then
  472. an <var>EStringListError</var> is raised. This can have one of the following
  473. causes:
  474. </p>
  475. <ol>
  476. <li>There is not enough memory to expand the list.</li>
  477. <li>The list tried to grow beyond its maximal capacity.</li>
  478. <li>A non-existent element of the list was referenced. (i.e. the list index
  479. was out of bounds)</li>
  480. <li>An attempt was made to add a duplicate entry to a <link
  481. id="TStringList"/> when <link id="TStringList.AllowDuplicates"/> is
  482. <var>False</var>.</li>
  483. </ol>
  484. </descr>
  485. <seealso>
  486. <link id="TStrings"/>
  487. <link id="TStringList"/>
  488. </seealso>
  489. </element>
  490. <element name="EComponentError">
  491. <short>
  492. Exception raised when an error occurs in the component registration
  493. routines.
  494. </short>
  495. <descr>
  496. <p>
  497. When an error occurs during the registration of a component, or when naming
  498. a component, then a <var>EComponentError</var> is raised. Possible causes
  499. are:
  500. </p>
  501. <ol>
  502. <li>An name with an illegal character was assigned to a component.</li>
  503. <li>A component with the same name and owner already exists.</li>
  504. <li>The component registration system isn't set up properly.</li>
  505. </ol>
  506. </descr>
  507. <seealso>
  508. <link id="TComponent"/>
  509. <link id="TComponent.Name"/>
  510. </seealso>
  511. </element>
  512. <element name="EParserError">
  513. <short>
  514. Exception raised when an error occurs during the parsing of streams.
  515. </short>
  516. <descr>
  517. When an error occurs during the parsing of a stream, an <var>EParserError</var>
  518. is raised. Usually this indicates that an invalid token was found on the
  519. input stream, or the token read from the stream wasn't the expected token.
  520. </descr>
  521. <seealso>
  522. <link id="TParser"/>
  523. </seealso>
  524. </element>
  525. <element name="EOutOfResources">
  526. <short>
  527. Exception raised when the system is out of resources.
  528. </short>
  529. <descr>
  530. This exception is not used in Free Pascal, it is defined for Delphi
  531. compatibiliy purposes only.
  532. </descr>
  533. </element>
  534. <element name="EInvalidOperation">
  535. <short>
  536. Exception raised when an invalid operation is performed. Obsolete.
  537. </short>
  538. <descr>
  539. This exception is not used in Free Pascal, it is defined for Delphi
  540. compatibiliy purposes only.
  541. </descr>
  542. </element>
  543. <!--
  544. **********************************************************************
  545. TList
  546. **********************************************************************
  547. -->
  548. <element name="TList">
  549. <short>Class to manage collections of pointers.</short>
  550. <descr>
  551. <p>
  552. <var>TList</var> is a class that can be used to manage collections of
  553. pointers. It introduces methods and properties to store the pointers, search
  554. in the list of pointers, sort them. It manages its memory by itself, no
  555. intervention for that is needed.
  556. </p>
  557. <p>
  558. To manage collections of strings, it is better to use a <link
  559. id="TStrings"/> descendent such as <link id="TStringList"/>. To manage
  560. general objects, a <link id="TCollection"/> class exists, from which a
  561. descendent can be made to manage collections of various kinds.
  562. </p>
  563. </descr>
  564. <seealso>
  565. <link id="TStrings"/>
  566. <link id="TCollection"/>
  567. </seealso>
  568. </element>
  569. <!-- To be documented later on maybe ?
  570. function Get(Index: Integer): Pointer;
  571. <element name="">
  572. <short>
  573. </short>
  574. <descr>
  575. </descr>
  576. </element>
  577. procedure Grow; virtual;
  578. <element name="">
  579. <short>
  580. </short>
  581. <descr>
  582. </descr>
  583. </element>
  584. procedure Put(Index: Integer; Item: Pointer);
  585. <element name="">
  586. <short>
  587. </short>
  588. <descr>
  589. </descr>
  590. </element>
  591. procedure SetCapacity(NewCapacity: Integer);
  592. <element name="">
  593. <short>
  594. </short>
  595. <descr>
  596. </descr>
  597. </element>
  598. procedure SetCount(NewCount: Integer);
  599. <element name="">
  600. <short>
  601. </short>
  602. <descr>
  603. </descr>
  604. </element>
  605. -->
  606. <element name="TList.Destroy">
  607. <short>
  608. Destroys the list and releases the memory used to store the list elements.
  609. </short>
  610. <descr>
  611. <var>Destroy</var> destroys the list and releases the memory used to store
  612. the list elements. The elements themselves are in no way touched, i.e. any
  613. meomory they point to must be explicitly released before calling the
  614. destructor.
  615. </descr>
  616. </element>
  617. <element name="TList.Add">
  618. <short>
  619. Adds a new pointer to the list.
  620. </short>
  621. <descr>
  622. <p>
  623. <var>Add</var> adds a new pointer to the list after the last pointer (i.e.
  624. at position <var>Count</var>, thus increasing the item count with 1.
  625. If the list is at full capacity, the capacity of the list is expanded,
  626. using the <link id="TList.Grow">Grow</link> method.
  627. </p>
  628. <p>
  629. To insert a pointer at a certain position in the list, use the <link
  630. id="TList.Insert">Insert</link> method instead.
  631. </p>
  632. </descr>
  633. <seealso>
  634. <link id="TList.Delete">Delete</link>
  635. <link id="TList.Grow">Grow</link>
  636. <link id="TList.Insert">Insert</link>
  637. </seealso>
  638. </element>
  639. <element name="TList.Clear">
  640. <short>
  641. Clears the pointer list.
  642. </short>
  643. <descr>
  644. <var>Clear</var> removes all pointers from the list, and sets the capacity to
  645. 0, thus freeing any memory allocated to maintain the list.
  646. </descr>
  647. <seealso>
  648. <link id="TList.Destroy">Destroy</link>
  649. </seealso>
  650. </element>
  651. <!-- procedure Delete(Index: Integer); -->
  652. <element name="TList.Delete">
  653. <short>
  654. Removes a pointer from the list.
  655. </short>
  656. <descr>
  657. <p><var>Delete</var> removes the pointer at position <var>Index</var> from the
  658. list, shifting all following pointers one position up (or to the left).
  659. </p>
  660. <p>
  661. The memory the pointer is pointing to is <i>not</i> deallocated.
  662. </p>
  663. </descr>
  664. </element>
  665. <element name="TList.Error">
  666. <short>
  667. Raises an <link id="EListError"/> exception.
  668. </short>
  669. <descr>
  670. <var>Error</var> raises an <link id="EListError"/> exception, with a message
  671. formatted with <var>Msg</var> and <var>Data</var>.
  672. </descr>
  673. </element>
  674. <!-- procedure Exchange(Index1, Index2: Integer); -->
  675. <element name="TList.Exchange">
  676. <short>
  677. Exchanges two pointers in the list.
  678. </short>
  679. <descr>
  680. <var>Exchange</var> exchanges the pointers at positions <var>Index1</var>
  681. and <var>Index2</var>. Both pointers must be withing the current range of
  682. the list, or an <link id="EListError"/> exception will be raised.
  683. </descr>
  684. </element>
  685. <element name="TList.Expand">
  686. <short>
  687. Increases the capacity of the list if needed.
  688. </short>
  689. <descr>
  690. <p>
  691. <var>Expand</var> increases the capacity of the list if the current element
  692. count matches the current list capacity.
  693. </p>
  694. <p>
  695. The capacity is increased according to the following algorithm:
  696. </p>
  697. <ol>
  698. <li>If the capacity is less than 3, the capacity is increased with 4.</li>
  699. <li>If the capacity is larger than 3 and less than 8, the capacity is increased with 8.</li>
  700. <li>If the capacity is larger than 8, the capacity is increased with 16.</li>
  701. </ol>
  702. <p>
  703. The return value is <var>Self</var>.
  704. </p>
  705. </descr>
  706. <seealso>
  707. <link id="TList.Capacity">Capacity</link>
  708. <!-- <link id="Tlist.SetCapacity"> -->
  709. </seealso>
  710. </element>
  711. <element name="TList.First">
  712. <short>
  713. Returns the first non-nil pointer in the list.
  714. </short>
  715. <descr>
  716. <p>
  717. <var>First</var> returns the value of the first non-nil pointer in the
  718. list.
  719. </p>
  720. <p> If there are no pointers in the list or all pointers equal
  721. <var>Nil</var>, then <var>Nil</var> is returned.
  722. </p>
  723. </descr>
  724. <seealso>
  725. <link id="TList.Last">Last</link>
  726. </seealso>
  727. </element>
  728. <!-- function IndexOf(Item: Pointer): Integer; -->
  729. <element name="TList.IndexOf">
  730. <short>
  731. Returns the index of a given pointer.
  732. </short>
  733. <descr>
  734. <p>
  735. <var>IndexOf</var> searches for the pointer <var>Item</var> in the list
  736. of pointers, and returns the index of the pointer, if found.
  737. </p>
  738. <p>
  739. If no pointer with the value <var>Item</var> was found, -1 is returned.
  740. </p>
  741. </descr>
  742. </element>
  743. <element name="TList.Insert">
  744. <short>
  745. Inserts a new pointer in the list at a given position.
  746. </short>
  747. <descr>
  748. <p>
  749. <var>Insert</var> inserts pointer <var>Item</var> at position
  750. <var>Index</var> in the list. All pointers starting from <var>Index</var>
  751. are shifted to the right.
  752. </p>
  753. <p>
  754. If <var>Index</var> is not a valid position, then a <link id="EListError"/>
  755. exception is raised.
  756. </p>
  757. </descr>
  758. <seealso>
  759. <link id="TList.Add">Add</link>
  760. <link id="Tlist.Delete">Delete</link>
  761. </seealso>
  762. </element>
  763. <element name="TList.Insert.Item">
  764. <short> Pointer to be inserted.</short>
  765. </element>
  766. <element name="TList.Insert.Index">
  767. <short> Position where to insert</short>
  768. </element>
  769. <!-- function Last: Pointer; -->
  770. <element name="TList.Last">
  771. <short>
  772. Returns the last non-nil pointer in the list.
  773. </short>
  774. <descr>
  775. <p>
  776. <var>Last</var> returns the value of the last non-nil pointer in the
  777. list.
  778. </p>
  779. <p> If there are no pointers in the list or all pointers equal
  780. <var>Nil</var>, then <var>Nil</var> is returned.
  781. </p>
  782. </descr>
  783. <seealso>
  784. <link id="TList.First">First</link>
  785. </seealso>
  786. </element>
  787. <!-- procedure Move(CurIndex, NewIndex: Integer); -->
  788. <element name="TList.Move">
  789. <short>
  790. Moves a pointer from one position in the list to another.
  791. </short>
  792. <descr>
  793. <p>
  794. <var>Move</var> moves the pointer at position <var>CurIndex</var>
  795. to position <var>NewIndex</var>. This is done by storing the value
  796. at position <var>CurIndex</var>, deleting the pointer at position
  797. <var>CurIndex</var>, and reinserting the value at position
  798. <var>NewIndex</var>
  799. </p>
  800. <p>
  801. If <var>CurIndex</var> or <var>Newindex</var> are not inside the valid
  802. range of indices, an <link id="EListError"/> exception is raised.
  803. </p>
  804. </descr>
  805. <seealso>
  806. <link id="TList.Exchange">Exchange</link>
  807. </seealso>
  808. </element>
  809. <!-- function Remove(Item: Pointer): Integer; -->
  810. <element name="TList.Remove">
  811. <short>
  812. Removes a value from the list.
  813. </short>
  814. <descr>
  815. <var>Remove</var> searches <var>Item</var> in the list, and, if it finds it,
  816. deletes the item from the list. Only the first occurrence of <var>Item</var>
  817. is removed.
  818. </descr>
  819. <seealso>
  820. <link id="TList.Delete">Delete</link>
  821. <link id="TList.IndexOf">IndexOf</link>
  822. <link id="Tlist.Insert">Insert</link>
  823. </seealso>
  824. </element>
  825. <!-- procedure Pack; -->
  826. <element name="TList.Pack">
  827. <short>
  828. Removes <var>Nil</var> pointers from the list and frees unused memory.
  829. </short>
  830. <descr>
  831. <var>Pack</var> removes all <var>nil</var> pointers from the list.
  832. The capacity of the list is then set to the number of pointers in the list.
  833. This method can be used to free unused memory if the list has grown to
  834. very large sizes and has a lot of unneeded nil pointers in it.
  835. </descr>
  836. <seealso>
  837. <link id="TList.Clear"/>
  838. </seealso>
  839. </element>
  840. <!-- procedure Sort(Compare: TListSortCompare); -->
  841. <element name="TList.Sort">
  842. <short>
  843. Sorts the pointers in the list.
  844. </short>
  845. <descr>
  846. <p>
  847. <var>Sort></var> sorts the pointers in the list. Two pointers are compared
  848. by passing them to the <var>Compare</var> function. The result of this
  849. function determines how the pointers will be sorted:
  850. </p>
  851. <ul>
  852. <li> If the result of this function is negative, the first pointer is
  853. assumed to be 'less' than the second and will be moved before the second
  854. in the list.</li>
  855. <li> If the function result is positive, the first pointer is assumed to
  856. be 'greater than' the second and will be moved after the second in the
  857. list.</li>
  858. <li> if the function result is zero, the pointers are assumed to be 'equal'
  859. and no moving will take place. </li>
  860. </ul>
  861. <p>
  862. The sort is done using a quicksort algorithm.
  863. </p>
  864. </descr>
  865. </element>
  866. <!-- property Capacity: Integer read FCapacity write SetCapacity; -->
  867. <element name="TList.Capacity">
  868. <short>
  869. Current capacity (i.e. number of pointers that can be stored) of the list.
  870. </short>
  871. <descr>
  872. <p><var>Capacity</var> contains the number of pointers the list can store
  873. before it starts to grow.
  874. </p>
  875. <p>
  876. If a new pointer is added to the list using <link id="TList.Add">add</link>
  877. or <link id="TList.Insert">insert</link>, and there is not enough memory to
  878. store the new pointer, then the list will try to allocate more memory to
  879. store the new pointer. Since this is a time consuming operation, it is
  880. important that this operation be performed as little as possible. If
  881. it is known how many pointers there will be before filling the list, it is
  882. a good idea to set the capacity first before filling. This ensures that the
  883. list doesn't need to grow, and will speed up filling the list.
  884. </p>
  885. </descr>
  886. <seealso>
  887. <link id="TList.SetCapacity">SetCapacity</link>
  888. <link id="TList.Count">Count</link>
  889. </seealso>
  890. </element>
  891. <!-- property Count: Integer read FCount write SetCount; -->
  892. <element name="Tlist.Count">
  893. <short>
  894. Current number of pointers in the list.
  895. </short>
  896. <descr>
  897. <var>Count</var> is the current number of (possibly <var>Nil</var>) pointers
  898. in the list. Since the list is zero-based, the index of the largest pointer
  899. is <var>Count-1</var>.
  900. </descr>
  901. <link id="TList.Capacity">Capacity</link>
  902. </element>
  903. <!-- property Items[Index: Integer]: Pointer read Get write Put; default; -->
  904. <element name="TList.Items">
  905. <short>
  906. Probides access to the pointers in the list.
  907. </short>
  908. <descr>
  909. <p><var>Items</var> is used to access the pointers in the list. It is the
  910. default property of the <var>TList</var> class, so it can be omitted.
  911. </p>
  912. <p>
  913. The list is zero-based, so Index must be in the range <var>0</var> to
  914. <var>Count-1</var>.
  915. </p>
  916. </descr>
  917. </element>
  918. <!-- property List: PPointerList read FList; -->
  919. <element name="TList.List">
  920. <short>
  921. Memory array where pointers are stored.
  922. </short>
  923. <descr>
  924. <var>List</var> points to the memory space where the pointers are stored.
  925. This can be used to quickly copy the list of pinters to another location.
  926. </descr>
  927. </element>
  928. <!--
  929. **********************************************************************
  930. ThreadList
  931. **********************************************************************
  932. -->
  933. <element name="TThreadList"> <!-- Class -->
  934. <short>List object containing all threads.</short>
  935. <descr></descr>
  936. <errors></errors>
  937. <seealso></seealso>
  938. </element>
  939. <element name="TThreadList.Create"> <!-- Constructor -->
  940. <short></short>
  941. <descr></descr>
  942. <errors></errors>
  943. <seealso></seealso>
  944. </element>
  945. <element name="TThreadList.Destroy"> <!-- Destructor -->
  946. <short></short>
  947. <descr></descr>
  948. <errors></errors>
  949. <seealso></seealso>
  950. </element>
  951. <element name="TThreadList.Add"> <!-- Procedure -->
  952. <short></short>
  953. <descr></descr>
  954. <errors></errors>
  955. <seealso></seealso>
  956. </element>
  957. <element name="TThreadList.Clear"> <!-- Procedure -->
  958. <short></short>
  959. <descr></descr>
  960. <errors></errors>
  961. <seealso></seealso>
  962. </element>
  963. <element name="TThreadList.LockList"> <!-- Function -->
  964. <short></short>
  965. <descr></descr>
  966. <errors></errors>
  967. <seealso></seealso>
  968. </element>
  969. <element name="TThreadList.Remove"> <!-- Procedure -->
  970. <short></short>
  971. <descr></descr>
  972. <errors></errors>
  973. <seealso></seealso>
  974. </element>
  975. <element name="TThreadList.UnlockList"> <!-- Procedure -->
  976. <short></short>
  977. <descr></descr>
  978. <errors></errors>
  979. <seealso></seealso>
  980. </element>
  981. <!--
  982. **********************************************************************
  983. TBits helpers
  984. **********************************************************************
  985. -->
  986. <element name="BITSHIFT"> <!-- Constant -->
  987. <short>Used to calculate the size of a bits array</short>
  988. <seealso>
  989. <link id="TBits"/>
  990. <link id="TBits.Size"/>
  991. </seealso>
  992. </element>
  993. <element name="MASK"> <!-- Constant -->
  994. <short>Bitmask with all bits on.</short>
  995. <seealso>
  996. <link id="TBits"/>
  997. </seealso>
  998. </element>
  999. <element name="MaxBitRec"> <!-- Constant -->
  1000. <short>Maximum number of bit records in TBits.</short>
  1001. <seealso>
  1002. <link id="TBits"/>
  1003. </seealso>
  1004. </element>
  1005. <element name="MaxBitFlags"> <!-- Constant -->
  1006. <short>Maximum number of bits in TBits collection.</short>
  1007. <seealso>
  1008. <link id="TBits"/>
  1009. </seealso>
  1010. </element>
  1011. <element name="TBitArray"> <!-- Array type -->
  1012. <short>Array to store bits.</short>
  1013. <seealso>
  1014. <link id="TBits"/>
  1015. </seealso>
  1016. </element>
  1017. <!--
  1018. **********************************************************************
  1019. TBis
  1020. **********************************************************************
  1021. -->
  1022. <element name="TBits"> <!-- Class -->
  1023. <short>Class to store collections of bits (binary values that can be 0 or 1)</short>
  1024. <descr>
  1025. <p><var>TBits</var> can be used to store collections of bits in an indexed
  1026. array. This is especially useful for storing collections of booleans:
  1027. Normally the size of a boolean is the size of the smallest enumerated type,
  1028. i.e. 1 byte. Since a bit can take 2 values it can be used to store a boolean
  1029. as well. Since TBits can store 8 bits in a byte, it takes 8 times less space
  1030. to store an array of booleans in a TBits class then it would take to stoe
  1031. them in a conventional array.
  1032. </p>
  1033. <p><var>TBits</var> introduces methods to store and retrieve bit values,
  1034. apply masks, and search for bits.
  1035. </p>
  1036. </descr>
  1037. </element>
  1038. <element name="TBits.Create"> <!-- Constructor -->
  1039. <short>Creates a new bits collection.</short>
  1040. <descr>
  1041. <p>
  1042. <var>Create</var> creates a new bit collection with initial size <var>TheSize</var>.
  1043. The size of the collection can be changed later on.
  1044. </p>
  1045. <p>All bits are initially set to zero.</p>
  1046. </descr>
  1047. <seealso>
  1048. <link id="TBits.Destroy">Destroy</link>
  1049. </seealso>
  1050. </element>
  1051. <element name="TBits.Destroy"> <!-- Destructor -->
  1052. <short>Destroys a bit collection</short>
  1053. <descr>
  1054. <p>
  1055. <var>Destroy</var> destroys a previously created bit collection and
  1056. releases all memory used to store the bit collection.
  1057. </p>
  1058. <p>
  1059. <var>Destroy</var> should never be called directly, <var>Free</var>
  1060. should be used instead.
  1061. </p>
  1062. </descr>
  1063. <errors>
  1064. None.
  1065. </errors>
  1066. <seealso>
  1067. <link id="TBits.Create">Create</link>
  1068. </seealso>
  1069. </element>
  1070. <element name="TBits.getFSize"> <!-- Function -->
  1071. <short>Returns the number of records used to store the bits.</short>
  1072. <descr>
  1073. <var>GetFSize</var> returns the number of records used to store the current
  1074. number of bits.
  1075. </descr>
  1076. <errors>
  1077. None.
  1078. </errors>
  1079. <seealso>
  1080. <link id="TBits.Size">Size</link>
  1081. </seealso>
  1082. </element>
  1083. <element name="TBits.seton"> <!-- Procedure -->
  1084. <short>Turn a particular bit on.</short>
  1085. <descr>
  1086. <var>SetOn</var> turns on the bit at position <var>bit</var>, i.e. sets it
  1087. to 1.
  1088. If <var>bit</var> is at a position bigger than the current size, the collection
  1089. is expanded to the required size using <link id="TBits.grow">Grow</link>.
  1090. </descr>
  1091. <errors>
  1092. If <var>bit</var> is larger than the maximum allowed bits array size or
  1093. is negative, an <link id="EBitsError"/> exception is raised.
  1094. </errors>
  1095. <seealso>
  1096. <link id="TBits.Bits">Bits</link>
  1097. <link id="TBits.clear">Clear</link>
  1098. </seealso>
  1099. </element>
  1100. <element name="TBits.clear"> <!-- Procedure -->
  1101. <short>Clears a particular bit.</short>
  1102. <descr>
  1103. <var>Clear</var> clears the bit at position <var>bit</var>. If the array
  1104. If <var>bit</var> is at a position bigger than the current size, the collection
  1105. is expanded to the required size using <link id="TBits.grow">Grow</link>.
  1106. </descr>
  1107. <errors>
  1108. If <var>bit</var> is larger than the maximum allowed bits array size or
  1109. is negative, an <link id="EBitsError"/> exception is raised.
  1110. </errors>
  1111. <seealso>
  1112. <link id="TBits.Bits">Bits</link>
  1113. <link id="TBits.clear">seton</link>
  1114. </seealso>
  1115. </element>
  1116. <element name="TBits.clearall"> <!-- Procedure -->
  1117. <short>Clears all bits in the array.</short>
  1118. <descr>
  1119. <var>ClearAll</var> clears all bits in the array, i.e. sets them to zero. <var>
  1120. ClearAll</var> works faster than clearing all individual bits, since it
  1121. uses the packed nature of the bits.
  1122. </descr>
  1123. <errors>
  1124. None.
  1125. </errors>
  1126. <seealso>
  1127. <link id="TBits.Bits">Bits</link>
  1128. <link id="TBits.clear">clear</link>
  1129. </seealso>
  1130. </element>
  1131. <element name="TBits.andbits"> <!-- Procedure -->
  1132. <short>Performs an <var>and</var> operation on the bits.</short>
  1133. <descr>
  1134. <var>andbits</var> performs an <var>and</var> operation on the bits in
  1135. the array with the bits of array <var>BitSet</var>. If <var>BitSet</var>
  1136. contains less bits than the current array, then all bits which have no
  1137. counterpart in <var>BitSet</var> are cleared.
  1138. </descr>
  1139. <errors>
  1140. None.
  1141. </errors>
  1142. <seealso>
  1143. <link id="TBits.clearall">ClearAll</link>
  1144. <link id="TBits.orbits">OrBits</link>
  1145. <link id="TBits.xorbits">XOrBits</link>
  1146. <link id="TBits.notbits">NotBits</link>
  1147. </seealso>
  1148. </element>
  1149. <element name="TBits.orbits"> <!-- Procedure -->
  1150. <short>Performs an <var>or</var> operation on the bits.</short>
  1151. <descr>
  1152. <p>
  1153. <var>andbits</var> performs an <var>or</var> operation on the bits in
  1154. the array with the bits of array <var>BitSet</var>.
  1155. </p>
  1156. <p>
  1157. If <var>BitSet</var>
  1158. contains less bits than the current array, then all bits which have no
  1159. counterpart in <var>BitSet</var> are left untouched.
  1160. </p>
  1161. <p>
  1162. If the current array contains less bits than <var>BitSet</var> then it is
  1163. grown to the size of <var>BitSet</var> before the <var>or</var> operation is
  1164. performed.
  1165. </p>
  1166. </descr>
  1167. <errors>
  1168. None.
  1169. </errors>
  1170. <seealso>
  1171. <link id="TBits.clearall">ClearAll</link>
  1172. <link id="TBits.andbits">andBits</link>
  1173. <link id="TBits.xorbits">XOrBits</link>
  1174. <link id="TBits.notbits">NotBits</link>
  1175. </seealso>
  1176. </element>
  1177. <element name="TBits.xorbits"> <!-- Procedure -->
  1178. <short>Performs a <var>xor</var> operation on the bits.</short>
  1179. <descr>
  1180. <p><var>XorBits</var> performs a <var>xor</var> operation on the bits in
  1181. the array with the bits of array <var>BitSet</var>.
  1182. </p>
  1183. <p>If <var>BitSet</var>
  1184. contains less bits than the current array, then all bits which have no
  1185. counterpart in <var>BitSet</var> are left untouched.
  1186. </p>
  1187. <p>
  1188. If the current array contains less bits than <var>BitSet</var> then it is
  1189. grown to the size of <var>BitSet</var> before the <var>xor</var> operation is
  1190. performed.
  1191. </p>
  1192. </descr>
  1193. <errors>
  1194. None.
  1195. </errors>
  1196. <seealso>
  1197. <link id="TBits.clearall">ClearAll</link>
  1198. <link id="TBits.andbits">andBits</link>
  1199. <link id="TBits.orbits">OrBits</link>
  1200. <link id="TBits.notbits">NotBits</link>
  1201. </seealso>
  1202. </element>
  1203. <element name="TBits.notbits"> <!-- Procedure -->
  1204. <short>Performs a <var>not</var> operation on the bits.</short>
  1205. <descr>
  1206. <p><var>NotBits</var> performs a <var>not</var> operation on the bits in
  1207. the array with the bits of array <var>Bitset</var>.
  1208. </p>
  1209. <p>If <var>BitSet</var>
  1210. contains less bits than the current array, then all bits which have no
  1211. counterpart in <var>BitSet</var> are left untouched.
  1212. </p>
  1213. </descr>
  1214. <errors>
  1215. None.
  1216. </errors>
  1217. <seealso>
  1218. <link id="TBits.clearall">ClearAll</link>
  1219. <link id="TBits.andbits">andBits</link>
  1220. <link id="TBits.orbits">OrBits</link>
  1221. <link id="TBits.xorbits">XOrBits</link>
  1222. </seealso>
  1223. </element>
  1224. <element name="TBits.get"> <!-- Function -->
  1225. <short>Retrieve the value of a particular bit</short>
  1226. <descr>
  1227. <var>Get</var> returns <var>True</var> if the bit at position <var>bit</var>
  1228. is set, or <var>False</var> if it is not set.
  1229. </descr>
  1230. <errors>
  1231. If <var>bit</var> is not a valid bit index then an <link id="EBitsError"/>
  1232. exception is raised.
  1233. </errors>
  1234. <seealso>
  1235. <link id="TBits.Bits">Bits</link>
  1236. <link id="TBits.FindFirstBit">FindFirstBit</link>
  1237. <link id="TBits.seton">seton</link>
  1238. </seealso>
  1239. </element>
  1240. <element name="TBits.grow"> <!-- Procedure -->
  1241. <short>Expands the bits array to the requested size.</short>
  1242. <descr>
  1243. <var>Grow</var> expands the bit array so it can at least contain
  1244. <var>nbit</var> bits. If <var>nbit</var> is less than the current size,
  1245. nothing happens.
  1246. </descr>
  1247. <errors>
  1248. If there is not enough memory to complete the operation, then an
  1249. <link id="EBitsError"/>is raised.
  1250. </errors>
  1251. <seealso>
  1252. <link id="TBits.Size">Size</link>
  1253. </seealso>
  1254. </element>
  1255. <element name="TBits.equals"> <!-- Function -->
  1256. <short>Determines whether the bits of 2 arrays are equal.</short>
  1257. <descr>
  1258. <p><var>equals</var> returns <var>True</var> if all the bits in <var>BitSet</var>
  1259. are the same as the ones in the current BitSet; if not, <var>False</var> is
  1260. returned.
  1261. </p>
  1262. <p>
  1263. If the sizes of the two BitSets are different, the arrays are still reported
  1264. equal when all the bits in the larger set, which are not present in the smaller
  1265. set, are zero.
  1266. </p>
  1267. </descr>
  1268. <errors>
  1269. None.
  1270. </errors>
  1271. <seealso>
  1272. <link id="TBits.clearall">ClearAll</link>
  1273. <link id="TBits.andbits">andBits</link>
  1274. <link id="TBits.orbits">OrBits</link>
  1275. <link id="TBits.xorbits">XOrBits</link>
  1276. </seealso>
  1277. </element>
  1278. <element name="TBits.SetIndex"> <!-- Procedure -->
  1279. <short>Sets the start position for <link
  1280. id="TBits.FindNextBit">FindNextBit</link> and <link
  1281. id="TBits.FindPrevBit">FindPrevBit</link></short>
  1282. <descr>
  1283. <p>
  1284. <var>SetIndex</var> sets the search start position for<link
  1285. id="TBits.FindNextBit">FindNextBit</link> and
  1286. <link id="TBits.FindPrevBit">FindPrevBit</link> to <var>Index</var>.
  1287. This means that these calls will start searching from position
  1288. <var>Index</var>.
  1289. </p>
  1290. <p>This mechanism provides an alternative to <link
  1291. id="TBits.FindFirstBit">FindFirstBit</link> which can also be used to
  1292. position for the <var>FindNextBit</var> and <var>FindPrevBit</var> calls.
  1293. </p>
  1294. </descr>
  1295. <errors>
  1296. None.
  1297. </errors>
  1298. <seealso>
  1299. <link id="TBits.FindNextBit">FindNextBit</link>
  1300. <link id="TBits.FindPrevBit">FindPrevBit</link>
  1301. <link id="TBits.FindFirstBit">FindFirstBit</link>
  1302. <link id="TBits.OpenBit">OpenBit</link>
  1303. </seealso>
  1304. </element>
  1305. <element name="TBits.FindFirstBit"> <!-- Function -->
  1306. <short>Find first bit with a particular value</short>
  1307. <descr>
  1308. <p>
  1309. <var>FindFirstBit</var> searches for the first bit with value
  1310. <var>State</var>. It returns the position of this bit, or <var>-1</var> if
  1311. no such bit was found.
  1312. </p>
  1313. <p>The search starts at position 0 in the array. If the first search
  1314. returned a positive result, the found position is saved, and the
  1315. <link id="TBits.FindNextBit">FindNextBit</link> and <link
  1316. id="TBits.FindPrevBit">FindPrevBit</link> will use this position to resume the
  1317. search. To start a search from a certain position, the start position can be
  1318. set with the <link id="TBits.SetIndex">SetIndex</link> instead.
  1319. </p>
  1320. </descr>
  1321. <errors>
  1322. None.
  1323. </errors>
  1324. <seealso>
  1325. <link id="TBits.FindNextBit">FindNextBit</link>
  1326. <link id="TBits.FindPrevBit">FindPrevBit</link>
  1327. <link id="TBits.OpenBit">OpenBit</link>
  1328. <link id="TBits.SetIndex">SetIndex</link>
  1329. </seealso>
  1330. </element>
  1331. <element name="TBits.FindNextBit"> <!-- Function -->
  1332. <short>Searches the next bit with a particular value.</short>
  1333. <descr>
  1334. <p>
  1335. <var>FindNextBit</var> resumes a previously started search. It searches for
  1336. the next bit with the value specified in the <link
  1337. id="TBits.FindFirstBit">FindFirstBit</link>. The search is done towards the
  1338. end of the array and starts at the position last reported by one of the
  1339. <var>Find</var> calls or at the position set with <link id="TBits.SetIndex">
  1340. SetIndex</link>.
  1341. </p>
  1342. <p>
  1343. If another bit with the same value is found, its position
  1344. is returned. If no more bits with the same value are present in the array,
  1345. <var>-1</var> is returned.
  1346. </p>
  1347. </descr>
  1348. <errors>
  1349. None.
  1350. </errors>
  1351. <seealso>
  1352. <link id="TBits.FindFirstBit">FindFirstBit</link>
  1353. <link id="TBits.FindPrevBit">FindPrevBit</link>
  1354. <link id="TBits.OpenBit">OpenBit</link>
  1355. <link id="TBits.SetIndex">SetIndex</link>
  1356. </seealso>
  1357. </element>
  1358. <element name="TBits.FindPrevBit"> <!-- Function -->
  1359. <short>Searches the previous bit with a particular value.</short>
  1360. <descr>
  1361. <p>
  1362. <var>FindPrevBit</var> resumes a previously started search. It searches for
  1363. the previous bit with the value specified in the <link
  1364. id="TBits.FindFirstBit">FindFirstBit</link>. The search is done towards the
  1365. beginning of the array and starts at the position last reported by one of the
  1366. <var>Find</var> calls or at the position set with <link id="TBits.SetIndex">
  1367. SetIndex</link>.
  1368. </p>
  1369. <p>
  1370. If another bit with the same value is found, its position
  1371. is returned. If no more bits with the same value are present in the array,
  1372. <var>-1</var> is returned.
  1373. </p>
  1374. </descr>
  1375. <errors>
  1376. None.
  1377. </errors>
  1378. <seealso>
  1379. <link id="TBits.FindFirstBit">FindFirstBit</link>
  1380. <link id="TBits.FindNextBit">FindNextBit</link>
  1381. <link id="TBits.OpenBit">OpenBit</link>
  1382. <link id="TBits.SetIndex">SetIndex</link>
  1383. </seealso>
  1384. </element>
  1385. <element name="TBits.OpenBit"> <!-- Function -->
  1386. <short>Returns the position of the first bit that is set to <var>False</var>.</short>
  1387. <descr>
  1388. <var>OpenBit</var> returns the position of the first bit whose value is
  1389. <var>0</var> (<var>False</var>), or <var>-1</var> if no open bit was found.
  1390. This call is equivalent to
  1391. <var>FindFirstBit(False)</var>, except that it doesn't set the position for
  1392. the next searches.
  1393. </descr>
  1394. <errors>
  1395. None.
  1396. </errors>
  1397. <seealso>
  1398. <link id="TBits.FindFirstBit">FindNextBit</link>
  1399. <link id="TBits.FindPrevBit">FindPrevBit</link>
  1400. <link id="TBits.FindFirstBit">FindFirstBit</link>
  1401. <link id="TBits.SetIndex">SetIndex</link>
  1402. </seealso>
  1403. </element>
  1404. <element name="TBits.Bits"> <!-- Property -->
  1405. <short>Access to all bits in the array.</short>
  1406. <descr>
  1407. <var>Bits</var> allows indexed access to all of the bits in the array. It
  1408. gives <var>True</var> if the bit is <var>1</var>, <var>False</var>
  1409. otherwise; Assigning to this property will set, respectively clear the bit.
  1410. </descr>
  1411. <errors>
  1412. If an index is specified which is out of the allowed range then an <link
  1413. id="EBitsError"/> exception is raised.
  1414. </errors>
  1415. <seealso>
  1416. <link id="TBits.Size">Size</link>
  1417. </seealso>
  1418. </element>
  1419. <element name="TBits.Size"> <!-- Property -->
  1420. <short>Current size of the array of bits.</short>
  1421. <descr>
  1422. <var>Size</var> is the current size of the bit array. Setting this property
  1423. will adjust the size; this is equivalent to calling <var>Grow(Value-1)</var>
  1424. </descr>
  1425. <errors>
  1426. If an invalid size (negative or too large) is specified, a <link
  1427. id="EBitsError"/> exception is raised.
  1428. </errors>
  1429. <seealso>
  1430. <link id="TBits.Bits">Bits</link>
  1431. </seealso>
  1432. </element>
  1433. <!--
  1434. *********************************************************************
  1435. TPersistent
  1436. *********************************************************************
  1437. -->
  1438. <element name="TPersistent"> <!-- Class -->
  1439. <short>Base class for streaming system and persistent properties.</short>
  1440. <descr>
  1441. <p><var>TPersistent</var> is the basic class for the streaming system. Since it
  1442. is compiled in the <var>{$M+}</var> state, the compiler generates RTTI
  1443. (Run-Time Type Information) for it and all classes that descend from it.
  1444. This information can be used to stream all properties of classes.
  1445. </p>
  1446. <p>
  1447. It also introduces functionality to assign the contents of 2 classes to
  1448. each other.
  1449. </p>
  1450. </descr>
  1451. <seealso>
  1452. <link id="TComponent"/>
  1453. </seealso>
  1454. </element>
  1455. <element name="TPersistent.AssignError"> <!-- Procedure -->
  1456. <short>Raises an <var>EConvertError</var> when an error occurs during
  1457. assignment.</short>
  1458. <descr>
  1459. <var>AssignError</var> raises an <var>EConvertError</var> exception with
  1460. the classnames of the <var>Source</var> and destination classes. It is used
  1461. when two incompatible classes are assigned to each other.
  1462. </descr>
  1463. <seealso>
  1464. <link id="TPersistent.Assign">Assign</link>
  1465. <link id="TPersistent.AssignTo">AssignTo</link>
  1466. </seealso>
  1467. </element>
  1468. <element name="TPersistent.AssignTo"> <!-- Procedure -->
  1469. <short>Generic assignment function.</short>
  1470. <descr>
  1471. <p>
  1472. <var>AssignTo</var> is the generic function to assign the class' contents to
  1473. another class. This method must be overridden by descendent classes to
  1474. actually assign the content of the source instance to the destination
  1475. instance.
  1476. </p>
  1477. <p>
  1478. The <link id="TPersistent"/> implementation of <var>Assignto</var> raises
  1479. an <var>EConvertError</var> exception. This is done for the following
  1480. reason: If the source class doesn't know how to assign itself to the
  1481. destination class (using <var>AssignTo</var>), the destination class may
  1482. know how get the data from the source class (using <link
  1483. id="TPersistent.Assign">Assign</link>). If all descendent methods are
  1484. implemented correctly, then if neither of the two classes knows how to
  1485. assign their contents to each other, execution will end up at <link
  1486. id="TPersistent.Assign"/>, which will simply execute
  1487. </p>
  1488. <code>
  1489. Dest.AssignTo(Self);
  1490. </code>
  1491. <p>
  1492. If neither of the classes knows how to assign to/from each other, then
  1493. execution will end up at the <var>TPersistent</var> implementation of
  1494. <var>AssignTo</var>, and an exception will be raised.
  1495. </p>
  1496. </descr>
  1497. <seealso>
  1498. <link id="TPersistent.Assign">Assign</link>
  1499. </seealso>
  1500. </element>
  1501. <element name="TPersistent.DefineProperties"> <!-- Procedure -->
  1502. <short>Declare non-published properties that need to be streamed.</short>
  1503. <descr>
  1504. <p>
  1505. <var>DefineProperties</var> must be overridden by descendent classes to
  1506. indicate to the streaming system which non-published properties must
  1507. also be streamed.
  1508. </p>
  1509. <p>
  1510. The streaming systems stores only published properties in the stream.
  1511. Sometimes it is necessary to store additional data in the stream, data
  1512. which is not published. This can be done by overriding the
  1513. <var>DefineProperties</var> method. The <var>Filer</var> object is the
  1514. class that is responsible for writing all properties to the stream.
  1515. </p>
  1516. <p>
  1517. To define new properties, two methods of the <link id="TFiler"/> class
  1518. should be used:
  1519. </p>
  1520. <ol>
  1521. <li><link id="TFiler.DefineProperty">DefineProperty</link>, to define a
  1522. property which can be represented as text.</li>
  1523. <li><link id="TFiler.DefineBinaryProperty">DefineProperty</link>, to define a
  1524. property which contains binary data.</li>
  1525. </ol>
  1526. <p>
  1527. On order for the streaming to work correctly, a call to the inherited
  1528. <var>DefineProperties</var> is also needed, so ancestor objects also
  1529. get the possibility to read or write their private data to the stream.
  1530. Failure to call the inherited method will result in component properties not
  1531. being streamed correctly.
  1532. </p>
  1533. </descr>
  1534. <seealso>
  1535. <link id="TFiler.DefineProperties"/>
  1536. <link id="TFiler"/>
  1537. </seealso>
  1538. </element>
  1539. <element name="TPersistent.GetOwner"> <!-- Function -->
  1540. <short>Returns the owner of the component.</short>
  1541. <descr>
  1542. <var>GetOwner</var> returns the owning component of the classes instane.
  1543. The <var>TPersistent</var> implementation of <var>GetOwner</var> returns
  1544. <var>Nil</var>. <link id="TComponent"/> overrides this method.
  1545. </descr>
  1546. <seealso>
  1547. <link id="TComponent"/>
  1548. </seealso>
  1549. </element>
  1550. <element name="TPersistent.Destroy"> <!-- Destructor -->
  1551. <short>Destroys the <var>TPersistent</var> instance. </short>
  1552. <descr>
  1553. <var>Destroy</var> disposes of the persistent object. This method should
  1554. never be called directly. Instead the <var>Free</var> method should be used.
  1555. </descr>
  1556. </element>
  1557. <element name="TPersistent.Assign"> <!-- Procedure -->
  1558. <short>Assign the contents of one class to another.</short>
  1559. <descr>
  1560. <p>
  1561. <var>Assign</var> copies the contents of <var>Source</var> to
  1562. <var>Self</var>, if the classes of the destination and source classes are
  1563. compatible.
  1564. </p>
  1565. <p>
  1566. The <var>TPersistent</var> implementation of <var>Assign</var> does nothing
  1567. but calling the <link id="TPersistent.AssignTo">AssignTo</link> method of
  1568. source. This means that if the destination class does not know how to assign
  1569. the contents of the source class, the source class instance is asked to assign
  1570. itself to the destination class. This means that it is necessary to
  1571. implement only one of the two methods so that two classes can be assiged to
  1572. one another.
  1573. </p>
  1574. <remark>
  1575. <p>
  1576. In general, a statement of the form
  1577. </p>
  1578. <code>
  1579. Destination:=Source;
  1580. </code>
  1581. <p>
  1582. (where <var>Destination</var> and <var>Source</var> are classes) does not
  1583. achieve the same as a statement of the form
  1584. </p>
  1585. <code>
  1586. Destination.Assign(Source);
  1587. </code>
  1588. <p>After the former statement, both <var>Source</var> and
  1589. <var>Destination</var> will point to the same object. The latter statemtent
  1590. will copy the <i>contents</i> of the <var>Source</var> class to the
  1591. <var>Destination</var> class.
  1592. </p>
  1593. </remark>
  1594. </descr>
  1595. <seealso>
  1596. <link id="TPersistent.AssignTo">AssignTo</link>
  1597. </seealso>
  1598. </element>
  1599. <element name="TPersistent.GetNamePath"> <!-- Function -->
  1600. <short>Returns a string that can be used to identify the class instance.</short>
  1601. <descr>
  1602. <p>
  1603. <var>GetNamePath</var> returns a string that can be used to identify the
  1604. class instance. This can be used to display a name for this instance in a
  1605. Object designer.
  1606. </p>
  1607. <p>
  1608. <var>GetNamePath</var> constructs a name by recursively prepending the
  1609. <var>Classname</var> of the <var>Owner</var> instance to the
  1610. <var>Classname</var> of this instance, separated by a dot.
  1611. </p>
  1612. </descr>
  1613. <seealso>
  1614. <link id="TPersistent.GetOwner"/>
  1615. </seealso>
  1616. </element>
  1617. <element name="TPersistentClass"> <!-- "class of" type -->
  1618. <short>Class reference type for <link id="TPersistent"/>.</short>
  1619. <descr>
  1620. <var>TPersistentClass</var> is the class reference type for the <link id="TPersistent"/> class.
  1621. </descr>
  1622. <seealso>
  1623. <link id="TPersistent"/>
  1624. </seealso>
  1625. </element>
  1626. <!--
  1627. *********************************************************************
  1628. TCollectionItem
  1629. *********************************************************************
  1630. -->
  1631. <element name="TCollectionItem"> <!-- Class -->
  1632. <short>Basic object that is managed by a <link id="TCollection"/> class.</short>
  1633. <descr>
  1634. <p><var>TCollectionItem</var> and <link id='TCollection'/> form a pair of base
  1635. classes that manage a collection of named objects. The
  1636. <var>TCollectionItem</var> is the named object that is managed, it
  1637. represents one item in the collection. An item in the collection is
  1638. represented by two properties: <link id="TCollectionItem.DisplayName"/>,
  1639. <link id="TCollection.Index"/> and <link id="TCollectionItem.ID"/>.
  1640. </p>
  1641. <p>A <var>TCollectionItem</var> object is never created directly. To manage
  1642. a set of named items, it is necessary to make a descendent of
  1643. <var>TCollectionItem</var> to which needed properties and methods are
  1644. added. This descendant can then be managed with a <link id="TCollection"/>
  1645. class. The managing collection will create and destroy it's items by itself,
  1646. it should therefore never be necessary to create <var>TCollectionItem</var>
  1647. descendents manually.
  1648. </p>
  1649. </descr>
  1650. <seealso>
  1651. <link id="TCollection"/>
  1652. </seealso>
  1653. </element>
  1654. <element name="TCollectionItem.Changed"> <!-- Procedure -->
  1655. <short>Method to notify the managing collection that the name or index of
  1656. this item has changed.
  1657. </short>
  1658. <descr>
  1659. This method is called when the <link id="TCollectionItem.DisplayName"/> is
  1660. set or when the <link id="TCollectionItem.Index"/> is changed.
  1661. </descr>
  1662. <seealso>
  1663. <link id="TCollectionItem.Id"/>
  1664. <link id="TCollectionItem.Index"/>
  1665. <link id="TCollection.Update"/>
  1666. </seealso>
  1667. </element>
  1668. <element name="TCollectionItem.GetNamePath"> <!-- Function -->
  1669. <short>Returns the namepath of this collection item.</short>
  1670. <descr>
  1671. <var>GetNamePath</var> overrides the <link id="TPersistent.GetNamePath"/>
  1672. method to return the name of the managing collection and appends its <link
  1673. id="TCollectionItem.Index"/> property.
  1674. </descr>
  1675. <seealso>
  1676. <link id="TCollectionItem.Collection"/>
  1677. <link id="TPersistent.GetNamePath"/>
  1678. <link id="TCollectionItem.Index"/>
  1679. </seealso>
  1680. </element>
  1681. <element name="TCollectionItem.GetOwner"> <!-- Function -->
  1682. <short>Returns the managing collection.</short>
  1683. <descr>
  1684. <var>TCollectionItem</var> overrides <link id="TPersistent.GetOwner"/> to
  1685. and returns the <link id="TCollectionItem.Collection"/> that manages it.
  1686. </descr>
  1687. <seealso>
  1688. <link id="TPersistent.GetOwner"/>
  1689. <link id="TCollectionItem.Collection"/>
  1690. </seealso>
  1691. </element>
  1692. <element name="TCollectionItem.GetDisplayName"> <!-- Function -->
  1693. <short>Returns the <link id="TCollectionItem.DisplayName"/> of the
  1694. collectionitem</short>
  1695. <descr>
  1696. <p>
  1697. <var>GetDisplayName</var> returns the value of the
  1698. <link id="TCollectionItem.DisplayName"/> property.
  1699. By default, this is the classname of the actual <var>TCollectionItem</var> descendant.
  1700. </p>
  1701. <p>
  1702. Descendants of <var>TCollectionItem</var> can and should override this
  1703. method to return a more meaningful value.
  1704. </p>
  1705. </descr>
  1706. <seealso>
  1707. <link id="TCollectionItem.DisplayName"/>
  1708. </seealso>
  1709. </element>
  1710. <element name="TCollectionItem.SetIndex"> <!-- Procedure -->
  1711. <short>Write method for the <link id="TCollectionItem.Index"/> property.</short>
  1712. <descr>
  1713. <var>SetIndex</var> implements the write handler for the <link
  1714. id="TCollectionItem.Index"/> property. It requests the managing collection to
  1715. move this item to the desired index <var>value</var>.
  1716. </descr>
  1717. <seealso>
  1718. <link id="TCollectionItem.Index"/>
  1719. </seealso>
  1720. </element>
  1721. <element name="TCollectionItem.SetDisplayName"> <!-- Procedure -->
  1722. <short>Write method for the <link id="TCollectionItem.DisplayName"/> property</short>
  1723. <descr>
  1724. <p><var>SetDisplayName</var> is the write method for the <link
  1725. id="TCollectionItem.DisplayName"/> property. It does nothing but notifying
  1726. the managing collection that the displayname has changed. It does NOT store
  1727. the actual <var>Value</var>.
  1728. </p>
  1729. <p>
  1730. Descendants of <var>TCollectionItem</var> should override this method to
  1731. store the actual displayname if this is required.
  1732. </p>
  1733. </descr>
  1734. <seealso>
  1735. <link id="TCollectionItem.DisplayName"/>
  1736. </seealso>
  1737. </element>
  1738. <element name="TCollectionItem.Create"> <!-- Constructor -->
  1739. <short>Creates a new instance of this collection item.</short>
  1740. <descr>
  1741. <var>Create</var> instantiates a new item in a <link id="TCollection"/>. It
  1742. is called by the <link id="TCollection.Add"/> function and should under
  1743. normal circumstances never be called directly.
  1744. called
  1745. </descr>
  1746. <seealso>
  1747. <link id="TCollectionItem.Destroy"/>
  1748. </seealso>
  1749. </element>
  1750. <element name="TCollectionItem.Destroy"> <!-- Destructor -->
  1751. <short>Destroyes this collection item.</short>
  1752. <descr>
  1753. <p><var>Destroy</var> removes the item from the managing collection
  1754. and Destroys the item instance.
  1755. </p>
  1756. <p>
  1757. This is the only way to remove items from a collection;
  1758. </p>
  1759. </descr>
  1760. <seealso>
  1761. <link id="TCollectionItem.Create"/>
  1762. </seealso>
  1763. </element>
  1764. <element name="TCollectionItem.Collection"> <!-- Property -->
  1765. <short>Pointer to the collection managing this item.</short>
  1766. <descr>
  1767. <var>Collection</var> points to the collection managing this item. This
  1768. property can be set to point to a new collection. If this is done, the old
  1769. collection will be notified that the item should no longer be managed, and
  1770. the new collection is notified that it should manage this item as well.
  1771. </descr>
  1772. <seealso>
  1773. <link id="TCollection"/>
  1774. </seealso>
  1775. </element>
  1776. <element name="TCollectionItem.ID"> <!-- Property -->
  1777. <short>Initial index of this item.</short>
  1778. <descr>
  1779. <p><var>ID</var> is the initial value of <link id="TCollectionItem.Index"/>;
  1780. it doesn't change after the index changes. It can be used to uniquely
  1781. identify the item. The <var>ID</var> property doesn't change as items are
  1782. added and removed from the collection.
  1783. </p>
  1784. <p>
  1785. While the <link id="TCollectionItem.Index"/> property forms a continuous
  1786. series, <var>ID</var> does not. If items are removed from the collection,
  1787. their <var>ID</var> is not used again, leaving gaps. Only when the
  1788. collection is initialiiy created, the <var>ID</var> and <var>Index</var>
  1789. properties will be equal.
  1790. </p>
  1791. </descr>
  1792. <seealso>
  1793. <link id="TCollection.Items"/>
  1794. <link id="TCollectionItem.Index"/>
  1795. </seealso>
  1796. </element>
  1797. <element name="TCollectionItem.Index"> <!-- Property -->
  1798. <short>Index of the item in its managing collection <link id="TCollection.Items"/> property.</short>
  1799. <descr>
  1800. <p>
  1801. <var>Index</var> is the current index of the item in its managing
  1802. collection's <link id="TCollection.Items"/> property. This property may
  1803. change as items are added and removed from the collection.
  1804. </p>
  1805. <p>The index of an item is zero-based, i.e. the first item has index zero.
  1806. The last item has index <var>Count-1</var> where <var>Count</var> is the
  1807. number of items in the collection.
  1808. </p>
  1809. <p>
  1810. The <var>Index</var> property of the items in a collection form a continuous
  1811. series ranging from <var>0</var> to <var>Count-1</var>. The <link
  1812. id="TCollectionItem.ID"/> property does not form a continuous series, but
  1813. can also be used to identify an item.
  1814. </p>
  1815. </descr>
  1816. <seealso>
  1817. <link id="TCollectionItem.ID"/>
  1818. <link id="TCollection.Items"/>
  1819. </seealso>
  1820. </element>
  1821. <element name="TCollectionItem.DisplayName"> <!-- Property -->
  1822. <short>Name of the item, displayed in the object inspector.</short>
  1823. <descr>
  1824. <p>
  1825. <var>DisplayName</var> contains the name of this item as shown in the object
  1826. inspector. For <var>TCollectionItem</var> this returns always the class name
  1827. of the managing collection, followed by the index of the item.
  1828. </p>
  1829. <p><var>TCollectionItem</var> does not implement any functionality to store
  1830. the <var>DisplayName</var> property. The property can be set, but this will
  1831. have no effect other than that the managing collection is notified of a
  1832. change. The actual displayname will remain unchanged. To store the
  1833. <var>DisplayName</var> property,<var>TCollectionItem</var> descendants
  1834. should override the <link id="TCollectionItem.SetDisplayName"/> and
  1835. <link id="TCollectionItem.GetDisplayName"/> to add storage functionality.
  1836. </p>
  1837. </descr>
  1838. <seealso>
  1839. <link id="TCollectionItem.Index"/>
  1840. <link id="TCollectionItem.ID"/>
  1841. <link id="TCollectionItem.GetDisplayName"/>
  1842. <link id="TCollectionItem.SetDisplayName"/>
  1843. </seealso>
  1844. </element>
  1845. <element name="TCollectionItemClass"> <!-- "class of" type -->
  1846. <short>Class reference for <link id="TCollectionItem"/>.</short>
  1847. <descr>
  1848. <var>TCollectionItemClass</var> is used by the
  1849. <link id="TCollection.ItemClass"/> property of <link id="TCollection"/> to
  1850. identify the descendent class of <link id="TCollectionItem"/> which should
  1851. be created and managed.
  1852. </descr>
  1853. <seealso>
  1854. <link id="TCollectionItem"/>
  1855. <link id="TCollection.ItemClass"/>
  1856. </seealso>
  1857. </element>
  1858. <!--
  1859. *********************************************************************
  1860. TCollection
  1861. *********************************************************************
  1862. -->
  1863. <element name="TCollection"> <!-- Class -->
  1864. <short>Base class to manage collections of named objects.</short>
  1865. <descr>
  1866. <p><var>TCollection</var> implements functionality to manage a collection
  1867. of named objects. Each of these objects needs to be a descendent of the
  1868. <link id="TCollectionItem"/> class. Exactly which type of object is managed
  1869. can be seen from the <link id="TCollection.ItemClass"/> property.
  1870. </p>
  1871. <p>
  1872. Normally, no <var>TCollection</var> is created directly. Instead, a
  1873. descendents of <var>TCollection</var> and <link id="TCollectionItem"/>
  1874. are created as a pair.
  1875. </p>
  1876. </descr>
  1877. <seealso>
  1878. <link id="TCollectionItem"/>
  1879. </seealso>
  1880. </element>
  1881. <element name="TCollection.GetAttrCount"> <!-- Function -->
  1882. <short>Returns the count of attributes associated with each item.</short>
  1883. <descr>
  1884. <p>
  1885. <var>GetAttrCount</var> returns 0 in the <var>TCollection</var>
  1886. implementation. It can be used to determine the number of attributes
  1887. associated with each collection item. Descendent objects should override
  1888. this method to return the number of attributes.
  1889. </p>
  1890. <p>This method is provided for compatibility with Delphi only and is not
  1891. used in Free Pascal.
  1892. </p>
  1893. </descr>
  1894. <seealso>
  1895. <link id="TCollection.GetAttr"/>
  1896. <link id="TCollection.GetItemAttr"/>
  1897. </seealso>
  1898. </element>
  1899. <element name="TCollection.GetAttr"> <!-- Function -->
  1900. <short>Returns an attribute of the collection.</short>
  1901. <descr>
  1902. <p>This method is provided for compatibility with Delphi only and is not
  1903. used in Free Pascal.
  1904. </p>
  1905. </descr>
  1906. <seealso>
  1907. <link id="TCollection.GetAttrCount"/>
  1908. <link id="TCollection.GetItemAttr"/>
  1909. </seealso>
  1910. </element>
  1911. <element name="TCollection.GetItemAttr"> <!-- Function -->
  1912. <short>Returns the attributes of an item.</short>
  1913. <descr>
  1914. <p>This method is provided for compatibility with Delphi only and is not
  1915. used in Free Pascal.
  1916. </p>
  1917. </descr>
  1918. <seealso>
  1919. <link id="TCollection.GetAttr"/>
  1920. <link id="TCollection.GetAttrCount"/>
  1921. </seealso>
  1922. </element>
  1923. <element name="TCollection.GetNamePath"> <!-- Function -->
  1924. <short>Overrides <link id="TPersistent.GetNamePath"/> to return a proper
  1925. pathname.</short>
  1926. <descr>
  1927. <p>
  1928. <var>GetNamePath</var> returns the name path for this collection. If the
  1929. following conditions are satisfied:
  1930. </p>
  1931. <ol>
  1932. <li>There is an owner object.</li>
  1933. <li>The owner object returns a non-empty name path.</li>
  1934. <li>The <link id="TCollection.Propname"/> property is not empty</li>
  1935. </ol>
  1936. <p>
  1937. collection has an owner and the owning object has a name, then the function
  1938. returns the owner name, followed by the propname. If one of the conditions
  1939. is not satisfied, then the classname is returned.
  1940. </p>
  1941. </descr>
  1942. <seealso>
  1943. <link id="TCollection.GetOwner"/>
  1944. <link id="TCollection.Propname"/>
  1945. </seealso>
  1946. </element>
  1947. <element name="TCollection.Changed"> <!-- Procedure -->
  1948. <short>Procedure called if an item is added to or removed from the collection.</short>
  1949. <descr>
  1950. <var>Changed</var> is called if a change takes place in the collection
  1951. managed by the class. If the update count ghas reached zero, it
  1952. calls <link id="TCollection.Update"/> with a nil argument.
  1953. </descr>
  1954. <seealso>
  1955. <link id="TCollection.Update"/>
  1956. <link id="TCollection.Add"/>
  1957. <link id="TCollection.Clear"/>
  1958. </seealso>
  1959. </element>
  1960. <element name="TCollection.GetItem"> <!-- Function -->
  1961. <short>Read handler for the <link id="TCollection.Items"/> property.</short>
  1962. <descr>
  1963. <var>GetItem</var> is the read handler for the <link
  1964. id="TCollection.Items"/> property. It returns the <var>Index</var>-th
  1965. element from the list of objects.
  1966. </descr>
  1967. <errors>
  1968. If <var>Index</var> is outside the allowed range, then an <link
  1969. id="EListError"/> exception is raised.
  1970. </errors>
  1971. <seealso>
  1972. <link id="TCollection.Items"/>
  1973. <link id="TCollection.Count"/>
  1974. <link id="TCollection.SetItem"/>
  1975. </seealso>
  1976. </element>
  1977. <element name="TCollection.SetItem"> <!-- Procedure -->
  1978. <short>Write handler for the <link id="TCollection.Items"/> property.</short>
  1979. <descr>
  1980. <var>SetItem</var> implements the write handler for the <link
  1981. id="TCollection.Items"/> property. It assignes <var>Value</var> to the
  1982. <var>Index</var>-th element in the array. For this to work properly, the
  1983. <link id="TPersistent.Assign"/> method of the <var>Item</var> must work
  1984. correctly.
  1985. </descr>
  1986. <errors>
  1987. If <var>Index</var> is outside the allowed range, then an <link
  1988. id="EListError"/> exception is raised.
  1989. </errors>
  1990. <seealso>
  1991. <link id="TCollection.Items"/>
  1992. <link id="TCollection.Count"/>
  1993. <link id="TCollection.GetItem"/>
  1994. </seealso>
  1995. </element>
  1996. <element name="TCollection.SetItemName"> <!-- Procedure -->
  1997. <short>Virtual method to set the name of the specified item</short>
  1998. <descr>
  1999. </descr>
  2000. <seealso>
  2001. </seealso>
  2002. </element>
  2003. <element name="TCollection.SetPropName"> <!-- Procedure -->
  2004. <short>Write handler for the <link id="TCollection.PropName"/> property</short>
  2005. <descr>
  2006. <var>SetPropName</var> must be overridden by descendent objects to set the
  2007. <link id="TCollection.PropName"/> property to a suitable value. By default,
  2008. <var>SetPropName</var> sets the <var>PropName</var> property to empty.
  2009. </descr>
  2010. <seealso>
  2011. <link id="TCollection.PropName"/>
  2012. </seealso>
  2013. </element>
  2014. <element name="TCollection.Update"> <!-- Procedure -->
  2015. <short>Hander called when an item in the collection has changed.</short>
  2016. <descr>
  2017. <p><var>Update</var> is called in the following cases:
  2018. </p>
  2019. <ol>
  2020. <li>An item is added to or removed from the collection.</li>
  2021. <li>An item is moved in the list, i.e. its <link id="TCollectionItem.Index"/>
  2022. property changes.</li>
  2023. <li>An item's <link id="TCollectionItem.DisplayName"/> property
  2024. changes.</li>
  2025. </ol>
  2026. <p>
  2027. Descendent classes can override this method to perform additional actions
  2028. when the collection changes. The <var>Item</var> parameter indicates the
  2029. item that was changed. This can be <var>Nil</var>
  2030. </p>
  2031. </descr>
  2032. <seealso>
  2033. <link id="TCollection.Changed"/>
  2034. </seealso>
  2035. </element>
  2036. <element name="TCollection.PropName"> <!-- Property -->
  2037. <short>Name of the property that this collection represents.</short>
  2038. <descr>
  2039. <var>PropName</var> indicates the name of the property that this collection
  2040. is supposed to represent. By default, this is the empty string. Descendents
  2041. can override this property to return the name of the property that is
  2042. represented by this collection.
  2043. </descr>
  2044. <seealso>
  2045. <link id="TCollection.SetPropName"/>
  2046. <link id="TCollection.GetPropName"/>
  2047. </seealso>
  2048. </element>
  2049. <element name="TCollection.Create"> <!-- Constructor -->
  2050. <short>Creates a new collection.</short>
  2051. <descr>
  2052. <var>Create</var> instantiates a new instance of the <var>TCollection</var>
  2053. class which will manage objects of class <var>AItemClass</var>.
  2054. It creates the list used to hold all objects, and stores the
  2055. <var>AItemClass</var> for the adding of new objects to the collection.
  2056. </descr>
  2057. <seealso>
  2058. <link id="TCollection.ItemClass"/>
  2059. <link id="TCollection.Destroy"/>
  2060. </seealso>
  2061. </element>
  2062. <element name="TCollection.Destroy"> <!-- Destructor -->
  2063. <short>Destroys the collection and frees all the objects it manages.</short>
  2064. <descr>
  2065. <p>
  2066. <var>Destroy</var> first clears the collection, and then frees all memory
  2067. allocated to this instance.
  2068. </p>
  2069. <p>
  2070. Don't call <var>Destroy</var> directly, call <var>Free</var> instead.
  2071. </p>
  2072. </descr>
  2073. <seealso>
  2074. <link id="TCollection.Create"/>
  2075. </seealso>
  2076. </element>
  2077. <element name="TCollection.Add"> <!-- Function -->
  2078. <short>Creates and adds a new item to the collection.</short>
  2079. <descr>
  2080. <var>Add</var> instantiates a new item of class <link
  2081. id="TCollection.ItemClass"/> and adds it to the list. The newly created
  2082. object is returned.
  2083. </descr>
  2084. <seealso>
  2085. <link id="TCollection.ItemClass"/>
  2086. <link id="TCollection.Clear"/>
  2087. </seealso>
  2088. </element>
  2089. <element name="TCollection.Assign"> <!-- Procedure -->
  2090. <short>Assigns one collection to another.</short>
  2091. <descr>
  2092. <p>
  2093. <var>Assign</var> assigns the contents of one collection to another.
  2094. It does this by clearing the items list, and adding as much elements as
  2095. there are in the <var>Source</var> collection; it assigns to each created
  2096. element the contents of it's counterpart in the <var>Source</var> element.
  2097. </p>
  2098. <p>
  2099. Two collections cannot be assigned to each other if instances of the
  2100. <var>ItemClass</var> classes cannot be assigned to each other.
  2101. </p>
  2102. </descr>
  2103. <errors>
  2104. If the objects in the collections cannot be assigned to one another, then
  2105. an <var>EConvertError</var> is raised.
  2106. </errors>
  2107. <seealso>
  2108. <link id="TPersistent.Assign"/>
  2109. <link id="TCollectionItem"/>
  2110. </seealso>
  2111. </element>
  2112. <element name="TCollection.BeginUpdate"> <!-- Procedure -->
  2113. <short>Start an update batch.</short>
  2114. <descr>
  2115. <p>
  2116. <var>BeginUpdate</var> is called at the beginning of a batch update. It
  2117. raises the update count with 1.
  2118. </p>
  2119. <p>
  2120. Call <var>BeginUpdate</var> at the beginning of a series of operations that
  2121. will change the state of the collection. This will avoid the call to
  2122. <link id="TCollection.Update"/> for each operation.
  2123. At the end of the operations, a corresponding call to <var>EndUpdate</var>
  2124. must be made. It is best to do this in the context of a
  2125. <var>Try ... finally</var> block:
  2126. </p>
  2127. <code>
  2128. With MyCollection Do
  2129. try
  2130. BeginUpdate;
  2131. // Some Lengthy operations
  2132. finally
  2133. EndUpdate;
  2134. end;
  2135. </code>
  2136. <p>
  2137. This insures that the number of calls to <var>BeginUpdate</var> always
  2138. matches the number of calls to <link id="TCollection.EndUpdate"/>, even in
  2139. case of an exception.
  2140. </p>
  2141. </descr>
  2142. <seealso>
  2143. <link id="TCollection.EndUpdate"/>
  2144. <link id="TCollection.Changed"/>
  2145. <link id="TCollection.Update"/>
  2146. </seealso>
  2147. </element>
  2148. <element name="TCollection.Clear"> <!-- Procedure -->
  2149. <short>Removes all items from the collection.</short>
  2150. <descr>
  2151. <var>Clear</var> will clear the collection, i.e. each item in the collection
  2152. is destroyed and removed from memory.
  2153. After a call to <var>Clear</var>, <var>Count</var> is zero.
  2154. </descr>
  2155. <seealso>
  2156. <link id="TCollection.Add"/>
  2157. <link id="TCollectionItem.Destroy"/>
  2158. <link id="TCollection.Destroy"/>
  2159. </seealso>
  2160. </element>
  2161. <element name="TCollection.EndUpdate"> <!-- Procedure -->
  2162. <short>Ends an update batch.</short>
  2163. <descr>
  2164. <var>EndUpdate</var> signals the end of a series of operations that change
  2165. the state of the collection, possibly triggering an update event.
  2166. It does this by decreasing the update count with 1 and calling <link
  2167. id="TCollection.Changed"/> it should always be used in conjunction with
  2168. <link id="TCollection.BeginUpdate"/>, preferably in the <var>Finally</var>
  2169. section of a <var>Try ... Finally</var> block.
  2170. </descr>
  2171. <seealso>
  2172. <link id="TCollection.BeginUpdate"/>
  2173. <link id="TCollection.Changed"/>
  2174. <link id="TCollection.Update"/>
  2175. </seealso>
  2176. </element>
  2177. <element name="TCollection.FindItemID"> <!-- Function -->
  2178. <short>Searches for an Item in the collection, based on its
  2179. <link id="TCollectionItem.ID"/> property.</short>
  2180. <descr>
  2181. <p>
  2182. <var>FindItemID</var> searches through the collection for the item that has
  2183. a value of <var>ID</var> for its <link id="TCollectionItem.ID"/> property,
  2184. and returns the found item. If no such item is found in the collection,
  2185. <var>Nil</var> is returned.
  2186. </p>
  2187. <p>The routine performs a linear search, so this can be slow on very large
  2188. collections.
  2189. </p>
  2190. </descr>
  2191. <seealso>
  2192. <link id="TCollection.Items"/>
  2193. <link id="TCollectionItem.ID"/>
  2194. </seealso>
  2195. </element>
  2196. <element name="TCollection.Count"> <!-- Property -->
  2197. <short>Number of items in the collection.</short>
  2198. <descr>
  2199. <p>
  2200. <var>Count</var> contains the number of items in the collection.
  2201. </p>
  2202. <remark>
  2203. The items in the collection are identified by their <link
  2204. id="TCollectionItem.Index"/> property, which is a zero-based index, meaning
  2205. that it can take values between <var>0</var> and <var>Count</var>.
  2206. </remark>
  2207. </descr>
  2208. <seealso>
  2209. <link id="TCollectionItem.Index"/>
  2210. <link id="TCollection.Items"/>
  2211. </seealso>
  2212. </element>
  2213. <element name="TCollection.ItemClass"> <!-- Property -->
  2214. <short>Class pointer for each item in the collection.</short>
  2215. <descr>
  2216. <var>ItemClass</var> is the class pointer with which each new item in the
  2217. collection is created. It is the value that was passed to the collection's
  2218. constructor when it was created, and does not change during the lifetime of
  2219. the collection.
  2220. </descr>
  2221. <seealso>
  2222. <link id="TCollectionItem"/>
  2223. <link id="TCollection.Items"/>
  2224. </seealso>
  2225. </element>
  2226. <element name="TCollection.Items"> <!-- Property -->
  2227. <short>Indexed array of items in the collection.</short>
  2228. <descr>
  2229. <p>
  2230. <var>Items</var> provides indexed access to the items in the collection.
  2231. Since the array is zero-based, <var>Index</var> should be an integer
  2232. between <var>0</var> and <var>Count-1</var>.
  2233. </p>
  2234. <p>It is possible to set or retrieve an element in the array. When setting
  2235. an element of the array, the object that is assigned should be compatible
  2236. with the class of the objects in the collection, as given by the
  2237. <link id="TCollection.ItemClass"/> property.
  2238. </p>
  2239. <p>Adding an element to the array can be done with the <link
  2240. id="TCollection.Add"/> method. The array can be cleared with the <link
  2241. id="TCollection.Clear"/> method. Removing an element of the array should
  2242. be done by freeing that element.
  2243. </p>
  2244. </descr>
  2245. <seealso>
  2246. <link id="TCollection.Count"/>
  2247. <link id="TCollection.ItemClass"/>
  2248. <link id="TCollection.Clear"/>
  2249. <link id="TCollection.Add"/>
  2250. </seealso>
  2251. </element>
  2252. <!--
  2253. *********************************************************************
  2254. IStringsAdapter
  2255. *********************************************************************
  2256. -->
  2257. <element name="IStringsAdapter"> <!-- Class -->
  2258. <short></short>
  2259. <descr>
  2260. </descr>
  2261. <seealso>
  2262. </seealso>
  2263. </element>
  2264. <!--
  2265. *********************************************************************
  2266. TStrings
  2267. *********************************************************************
  2268. -->
  2269. <element name="TStrings"> <!-- Class -->
  2270. <short>Class to manage arrays or collections of strings</short>
  2271. <descr>
  2272. <p><var>TStrings</var> implements an abstract class to manage an array of
  2273. strings. It introduces methods to set and retrieve strings in the array,
  2274. searching for a particular string, concatenating the strings and so on.
  2275. It also allows an arbitrary object to be associated with each string.
  2276. </p>
  2277. <p>
  2278. It also introduces methods to manage a series of <var>name=value</var>
  2279. settings, as found in many configuration files.
  2280. </p>
  2281. <p>An instance of <var>TStrings</var> is never created directly, instead a
  2282. descendent class such as <link id="TStringList"/> should be created. This is
  2283. because <var>TStrings</var> is an abstract class which does not implement
  2284. all methods; <var>TStrings</var> also doesn't store any strings, this is the
  2285. functionality introduced in descendents such as <link id="TStringList"/>.
  2286. </p>
  2287. </descr>
  2288. <seealso>
  2289. <link id="TStringList"/>
  2290. </seealso>
  2291. </element>
  2292. <element name="TStrings.DefineProperties"> <!-- Procedure -->
  2293. <short>Method to stream the contents of the string collection</short>
  2294. <descr>
  2295. <var>DefineProperties</var> allows the contents of the string collection
  2296. to be streamed. As such, it overrides <link id="TPersistent.DefineProperties"/>
  2297. </descr>
  2298. <seealso>
  2299. <link id="TPersistent.DefineProperties"/>
  2300. </seealso>
  2301. </element>
  2302. <element name="TStrings.Error"> <!-- Procedure -->
  2303. <short>Raises an <link id="EStringListError"/> exception.</short>
  2304. <descr>
  2305. <p>
  2306. <var>Error</var> raises an <link id="EStringListError"/> exception. It passes
  2307. <var>Msg</var> as a format with <var>Data</var> as the only argument.
  2308. </p>
  2309. <p> This method can be used by descendent objects to raise an error.</p>
  2310. </descr>
  2311. <seealso>
  2312. <link id="EStringListError"/>
  2313. </seealso>
  2314. </element>
  2315. <element name="TStrings.Get"> <!-- Function -->
  2316. <short>Abstract read handler for the <link id="TStrings.Strings"/> property.</short>
  2317. <descr>
  2318. <p>
  2319. <var>Get</var> is the abstract read handler for the <link id="TStrings.Strings"/>
  2320. property. This is an abstract method, hence it is not implemented in
  2321. <var>TStrings</var>.
  2322. </p>
  2323. <p>
  2324. Descendent classes, such as <link id="TStringList"/> must override this
  2325. method and implement a routine that retrieves the <var>Index</var>-th string
  2326. in the list. <var>Index</var> should have a value between <var>0</var> and
  2327. <var>Count-1</var>, in all other cases an error should be raised using
  2328. <link id="TStrings.Error"/>.
  2329. </p>
  2330. </descr>
  2331. <seealso>
  2332. <link id="TStrings.Strings"/>
  2333. <link id="TStrings.Put"/>
  2334. <link id="TStrings.GetObject"/>
  2335. </seealso>
  2336. </element>
  2337. <element name="TStrings.GetCapacity"> <!-- Function -->
  2338. <short>Abstract Read handler for the <link id="TStrings.Capacity"/> property.</short>
  2339. <descr>
  2340. <p>
  2341. <var>GetCapacity</var> is the read handler for the <link
  2342. id="TStrings.Capacity"/> property. The implementation in <var>TStrings</var>
  2343. will return 0.
  2344. </p>
  2345. <p>Descendent classes can override this method. It should return the
  2346. current number of strings that can be held by the stringlist before
  2347. it attempts to expand it's storage space.
  2348. </p>
  2349. </descr>
  2350. <seealso>
  2351. <link id="TStrings.Capacity"/>
  2352. <link id="TStrings.SetCapacity"/>
  2353. </seealso>
  2354. </element>
  2355. <element name="TStrings.GetCount"> <!-- Function -->
  2356. <short>Abstract read handler for the <link id="TStrings.Count"/> property.</short>
  2357. <descr>
  2358. <p>
  2359. <var>GetCount</var> is the abstract read handler for the <link
  2360. id="TStrings.Count"/> property. This is an abstract method, hence it is not implemented in
  2361. <var>TStrings</var>.
  2362. </p>
  2363. <p>
  2364. Descendent classes must override this method. It should return the
  2365. current number of strings in the list. (empty strings included).
  2366. </p>
  2367. </descr>
  2368. <seealso>
  2369. <link id="TStrings.Count"/>
  2370. </seealso>
  2371. </element>
  2372. <element name="TStrings.GetObject"> <!-- Function -->
  2373. <short>Abstract read handler for the <link id="TStrings.Objects"/> property.</short>
  2374. <descr>
  2375. <p>
  2376. <var>GetObject</var> is the read handler for the <link
  2377. id="TStrings.Objects"/> property. The <var>TStrings</var> implementation of
  2378. this method ignores the <var>Index</var> argument and simply
  2379. returns <var>Nil</var>.
  2380. </p>
  2381. <p>
  2382. Descendent classes that should support object storage should override this
  2383. method and return the object associated to the <var>Index</var>-th string
  2384. in the list. <var>Index</var> should have a value between <var>0</var> and
  2385. <var>Count-1</var>. If <var>Index</var> is outside the allowed range, an
  2386. error should be raised using <link id="TStrings.Error"/>.
  2387. </p>
  2388. </descr>
  2389. <seealso>
  2390. <link id="TStrings.Objects"/>
  2391. <link id="TStrings.PutObject"/>
  2392. <link id="TStrings.Get"/>
  2393. </seealso>
  2394. </element>
  2395. <element name="TStrings.GetTextStr"> <!-- Function -->
  2396. <short>Read handler for the <link id="TStrings.Text"/> property.</short>
  2397. <descr>
  2398. <p><var>GetTextStr</var> is the read handler for the <link id="TStrings.Text"/>
  2399. property. It simply concatenates all strings in the list with a linefeed between
  2400. them, and returns the resulting string.
  2401. </p>
  2402. <p>
  2403. Descendent classes may override this method to implement an efficienter
  2404. algorithm which is more suitable to their storage method.
  2405. </p>
  2406. </descr>
  2407. <seealso>
  2408. <link id="TStrings.Text"/>
  2409. <link id="TStrings.SetTextStr"/>
  2410. </seealso>
  2411. </element>
  2412. <element name="TStrings.Put"> <!-- Procedure -->
  2413. <short>Write handler for the <link id="TStrings.Strings"/> property.</short>
  2414. <descr>
  2415. <p>
  2416. <var>Put</var> is the write handler for the <link id="TStrings.Strings"/>
  2417. property. It does this by saving the object associated to the
  2418. <var>Index</var>-th string, deleting the <var>Index</var>-th string, and
  2419. inserting <var>S</var> and the saved object at position <var>Index</var>
  2420. with <link id="TStrings.InsertObject"/>
  2421. </p>
  2422. <p>
  2423. Descendent classes may wish to override <var>Put</var> to implement a more
  2424. efficient method.
  2425. </p>
  2426. </descr>
  2427. <seealso>
  2428. <link id="TStrings.Strings"/>
  2429. <link id="TStrings.Get"/>
  2430. <link id="TStrings.PutObject"/>
  2431. </seealso>
  2432. </element>
  2433. <element name="TStrings.PutObject"> <!-- Procedure -->
  2434. <short>Write handler for the <link id="TStrings.Objects"/> property.</short>
  2435. <descr>
  2436. <p>
  2437. <var>PutObject</var> is the write handler for the <link
  2438. id="TStrings.Objects"/> property. The <var>TStrings</var> implementation of
  2439. <var>PutObject</var> does nothing.
  2440. </p>
  2441. <p>
  2442. Descendent objects that should support Object storage must override this
  2443. method to store the <var>AObject</var> so that it is associated with the
  2444. <var>Index</var>-th string in the list. <var>Index</var> should have a value
  2445. between <var>0</var> and <var>Count-1</var>. If the value of
  2446. <var>Index</var> is out of range, an error should be raised using <link
  2447. id="TStrings.Error"/>.
  2448. </p>
  2449. </descr>
  2450. <seealso>
  2451. <link id="TStrings.Objects"/>
  2452. <link id="TStrings.GetObject"/>
  2453. <link id="TStrings.Put"/>
  2454. </seealso>
  2455. </element>
  2456. <element name="TStrings.SetCapacity"> <!-- Procedure -->
  2457. <short>Write handler for the <link id="TStrings.Capacity"/> property.</short>
  2458. <descr>
  2459. <p>
  2460. <var>SetCapacity</var> is the write handler for the <link
  2461. id="TStrings.Capacity"/> property. The <var>TStrings</var> implementation
  2462. of <var>SetCapacity</var> does nothing.
  2463. </p>
  2464. <p>
  2465. Descendent classes can override this method to set the current capacity of
  2466. the stringlist to <var>NewCapacity</var>. The capacity is the number of strings the list can hold
  2467. before it tries to expand its storage space. <var>NewCapacity</var> should
  2468. be no less than <var>Count</var>.
  2469. </p>
  2470. </descr>
  2471. <seealso>
  2472. <link id="TStrings.Capacity"/>
  2473. <link id="TStrings.GetCapacity"/>
  2474. </seealso>
  2475. </element>
  2476. <element name="TStrings.SetTextStr"> <!-- Procedure -->
  2477. <short>Write handler for the <link id="TStrings.Text"/> property.</short>
  2478. <descr>
  2479. <p>
  2480. <var>SetTextStr</var> is the write method for the <link id="TStrings.Text"/>
  2481. property. It does nothing other than calling <link id="TStrings.SetText"/>.
  2482. </p>
  2483. <p>
  2484. Descendent classes may override this method to implement a more efficient
  2485. algoritm that fits their storage method better.
  2486. </p>
  2487. </descr>
  2488. <seealso>
  2489. <link id="TStrings.Text"/>
  2490. <link id="TStrings.GetTextStr"/>
  2491. </seealso>
  2492. </element>
  2493. <element name="TStrings.SetUpdateState"> <!-- Procedure -->
  2494. <short>Sets the update state. </short>
  2495. <descr>
  2496. <p>
  2497. <var>SetUpdateState</var> sets the update state to <var>Updating</var>. The
  2498. <var>TStrings</var> implementation of <var>SetUpdateState</var> does
  2499. nothing.
  2500. </p>
  2501. <p>
  2502. Descendent objects may override this method to implement optimizations. If
  2503. <var>Updating</var> is <var>True</var> then the list of strings is about to
  2504. be updated (possibly many times). If it is <var>False</var> no more updates
  2505. will take place till the next <var>SetUpdateState</var> call.
  2506. </p>
  2507. </descr>
  2508. <seealso>
  2509. <link id="TStrings.BeginUpdate"/>
  2510. <link id="TStrings.EndUpdate"/>
  2511. </seealso>
  2512. </element>
  2513. <element name="TStrings.Destroy"> <!-- Destructor -->
  2514. <short>Frees all strings and objects, and removes the list from memory.</short>
  2515. <descr>
  2516. <var>Destroy</var> is the destructor of <var>TStrings</var> it does nothing
  2517. except calling the inherited destructor.
  2518. </descr>
  2519. <seealso>
  2520. </seealso>
  2521. </element>
  2522. <element name="TStrings.Add"> <!-- Function -->
  2523. <short>Add a string to the list</short>
  2524. <descr>
  2525. <var>Add</var> adds <var>S</var> at the end of the list and returns the
  2526. index of <var>S</var> in the list (which should equal <link id="Tstrings.Count"/>
  2527. </descr>
  2528. <seealso>
  2529. <link id="TStrings.Items"/>
  2530. <link id="TStrings.AddObject"/>"
  2531. <link id="TStrings.Insert"/>
  2532. <link id="TStrings.Delete"/>
  2533. <link id="TStrings.Strings"/>
  2534. <link id="TStrings.Count"/>
  2535. </seealso>
  2536. </element>
  2537. <element name="TStrings.AddObject"> <!-- Function -->
  2538. <short>Add a string and associated object to the list.</short>
  2539. <descr>
  2540. <p>
  2541. <var>AddObject</var> adds <var>S</var> to the list of strings, and
  2542. associates <var>AObject</var> with it. It returns the index of <var>S</var>.
  2543. </p>
  2544. <remark>
  2545. An object added to the list is not automatically destroyed by the list of
  2546. the list is destroyed or the string it is associated with is deleted. It is
  2547. the responsibility of the application to destroy any objects associated with
  2548. strings.
  2549. </remark>
  2550. </descr>
  2551. <seealso>
  2552. <link id="TStrings.Add"/>
  2553. <link id="Tstrings.Items"/>
  2554. <link id="TStrings.Objects"/>
  2555. <link id="Tstrings.InsertObject"/>
  2556. </seealso>
  2557. </element>
  2558. <element name="TStrings.Append"> <!-- Procedure -->
  2559. <short>Add a string to the list.</short>
  2560. <descr>
  2561. <var>Append</var> does the same as <link id="TStrings.Add"/>, only it does
  2562. not return the index of the inserted string.
  2563. </descr>
  2564. <seealso>
  2565. <link id="TStrings.Add"/>
  2566. </seealso>
  2567. </element>
  2568. <element name="TStrings.AddStrings"> <!-- Procedure -->
  2569. <short>Add contents of another stringlist to this list.</short>
  2570. <descr>
  2571. <var>AddStrings</var> adds the contents of <var>TheStrings</var> to the
  2572. stringlist. Any associated objects are added as well.
  2573. </descr>
  2574. <seealso>
  2575. <link id="TStrings.Add"/>
  2576. <link id="TStrings.Assign"/>
  2577. </seealso>
  2578. </element>
  2579. <element name="TStrings.Assign"> <!-- Procedure -->
  2580. <short>Assign the contents of another stringlist to this one.</short>
  2581. <descr>
  2582. <var>Assign</var> replaces the contents of the stringlist with the contents
  2583. of <var>Source</var> if <var>Source</var> is also of type
  2584. <var>TStrings</var>. Any associated objects are copied as well.
  2585. </descr>
  2586. <seealso>
  2587. <link id="TStrings.Add"/>
  2588. <link id="TStrings.AddStrings"/>
  2589. <link id="TPersistent.Assign"/>
  2590. </seealso>
  2591. </element>
  2592. <element name="TStrings.BeginUpdate"> <!-- Procedure -->
  2593. <short>Mark the beginning of an update batch.</short>
  2594. <descr>
  2595. <p>
  2596. <var>BeginUpdate</var> increases the update count by one. It is advisable to
  2597. call <var>BeginUpdate</var> before lengthy operations on the stringlist. At
  2598. the end of these operation, <link id="TStrings.EndUpdate"/> should be
  2599. called to mark the end of the operation. Descendent classes may use this
  2600. information to perform optmizations. e.g. updating the screen only once
  2601. after many strings were added to the list.
  2602. </p>
  2603. <p>
  2604. All <var>TStrings</var> methods that modify the string list call
  2605. <var>BeginUpdate</var> before the actual operation, and call
  2606. <var>endUpdate</var> when the operation is finished. Descendent classes
  2607. should also call these methods when modifying the string list.
  2608. </p>
  2609. <remark>
  2610. <p>
  2611. Always put the corresponding call to <link id="TStrings.EndUpdate"/> in the
  2612. context of a <var>Finally</var> block, to ensure that the update count is
  2613. always descreased at the end of the operation, even if an exception
  2614. occurred:
  2615. </p>
  2616. <code>
  2617. With MyStrings do
  2618. try
  2619. BeginUpdate;
  2620. // Some lengthy operation.
  2621. Finally
  2622. EndUpdate
  2623. end;
  2624. </code>
  2625. </remark>
  2626. </descr>
  2627. <seealso>
  2628. <link id="TStrings.EndUpdate"/>
  2629. </seealso>
  2630. </element>
  2631. <element name="TStrings.Clear"> <!-- Procedure -->
  2632. <short>Removes all strings and associated objects from the list.</short>
  2633. <descr>
  2634. <p>
  2635. <var>Clear</var> will remove all strings and their associated objects from
  2636. the list. After a call to clear, <link id="TStrings.Count"/> is zero.
  2637. </p>
  2638. <p>
  2639. Since it is an abstract method, <var>TStrings</var> itself does not implement
  2640. <var>Clear</var>. Descendent classes such as <link
  2641. id="TStringList"/> implement this method.
  2642. </p>
  2643. </descr>
  2644. <seealso>
  2645. <link id="TStrings.Items"/>
  2646. <link id="TStrings.Delete"/>
  2647. <link id="TStrings.Count"/>"
  2648. </seealso>
  2649. </element>
  2650. <element name="TStrings.Delete"> <!-- Procedure -->
  2651. <short>Delete a string from the list.</short>
  2652. <descr>
  2653. <p>
  2654. <var>Delete</var> deletes the string at position <var>Index</var> from the
  2655. list. The associated object is also removed from the list, but not
  2656. destroyed. <var>Index</var> is zero-based, and should be in the range
  2657. <var>0</var> to <var>Count-1</var>.
  2658. </p>
  2659. <p>
  2660. Since it is an abstract method, <var>TStrings</var> itself does not implement
  2661. <var>Delete</var>. Descendent classes such as <link
  2662. id="TStringList"/> implement this method.
  2663. </p>
  2664. </descr>
  2665. <errors>
  2666. If <var>Index</var> is not in the allowed range, an <link
  2667. id="EStringListError"/> is raised.
  2668. </errors>
  2669. <seealso>
  2670. <link id="TStrings.Insert"/>
  2671. <link id="TStrings.Items"/>
  2672. <link id="TStrings.Clear"/>
  2673. </seealso>
  2674. </element>
  2675. <element name="TStrings.EndUpdate"> <!-- Procedure -->
  2676. <short>Mark the end of an update batch.</short>
  2677. <descr>
  2678. <p>
  2679. <var>EndUpdate</var> should be called at the end of a lengthy operation on
  2680. the stringlist, but only if there was a call to <var>BeginUpdate</var> before
  2681. the operation was started. It is best to put the call to
  2682. <var>EndUpdate</var> in the context of a <var>Finally</var> block, so it
  2683. will be called even if an exception occurs.
  2684. </p>
  2685. <p>
  2686. For more information, see <link id="TStrings.BeginUpdate"/>.
  2687. </p>
  2688. </descr>
  2689. <seealso>
  2690. <link id="TStrings.BeginUpdate"/>
  2691. </seealso>
  2692. </element>
  2693. <element name="TStrings.Equals"> <!-- Function -->
  2694. <short>Compares the contents of two stringlists.</short>
  2695. <descr>
  2696. <p>
  2697. <var>Equals</var> compares the contents of the stringlist with the contents
  2698. of <var>TheStrings</var>. If the contents match, i.e. the stringlist contain
  2699. an equal amount of strings, and all strings match, then <var>True</var> is
  2700. returned. If the number of strings in the lists is is unequal, or they
  2701. contain one or more different strings, <var>False</var> is returned.
  2702. </p>
  2703. <remark>
  2704. <ol>
  2705. <li>The strings are compared case-insensitively.</li>
  2706. <li>The associated objects are not compared</li>
  2707. </ol>
  2708. </remark>
  2709. </descr>
  2710. <seealso>
  2711. <link id="Tstrings.Items"/>
  2712. <link id="TStrings.Count"/>
  2713. <link id="TStrings.Assign"/>
  2714. </seealso>
  2715. </element>
  2716. <element name="TStrings.Exchange"> <!-- Procedure -->
  2717. <short>Exchanges two strings in the list.</short>
  2718. <descr>
  2719. <p>
  2720. <var>Exchange</var> exchanges the strings at positions <var>Index1</var>
  2721. and <var>Index2</var>. The associated objects are also exchanged.
  2722. </p>
  2723. <p>
  2724. Both indexes must be in the range of valid indexes, i.e. must have a
  2725. value between <var>0</var> and <var>Count-1</var>.
  2726. </p>
  2727. </descr>
  2728. <errors>
  2729. If either <var>Index1</var> or <var>Index2</var> is not in the range of valid
  2730. indexes, an <link id="EStringListError"/> exception is raised.
  2731. </errors>
  2732. <seealso>
  2733. <link id="TStrings.Move"/>
  2734. <link id="TStrings.Strings"/>
  2735. <link id="TStrings.Count"/>
  2736. </seealso>
  2737. </element>
  2738. <element name="TStrings.GetText"> <!-- Function -->
  2739. <short>Returns the contents as a PChar</short>
  2740. <descr>
  2741. <p>
  2742. <var>GetText</var> allocates a memory buffer and compies the contents of the
  2743. stringlist to this buffer as a series of strings, separated by an
  2744. end-of-line marker. The buffer is zero terminated.
  2745. </p>
  2746. <remark>
  2747. The caller is responsible for freeing the returned memory buffer.
  2748. </remark>
  2749. </descr>
  2750. <seealso>
  2751. </seealso>
  2752. </element>
  2753. <element name="TStrings.IndexOf"> <!-- Function -->
  2754. <short>Find a string in the list and return its position.</short>
  2755. <descr>
  2756. <p>
  2757. <var>IndexOf</var> searches the list for <var>S</var>. The search is
  2758. case-insensitive. If a matching entry is found, its position is returned.
  2759. if no matching string is found, <var>-1</var> is returned.
  2760. </p>
  2761. <remark>
  2762. <ol>
  2763. <li>Only the first occurrence of the string is returned.</li>
  2764. <li>The returned position is zero-based, i.e. 0 indicates the first string
  2765. in the list.</li>
  2766. </ol>
  2767. </remark>
  2768. </descr>
  2769. <seealso>
  2770. <link id="TStrings.IndexOfObject"/>
  2771. <link id="TStrings.IndexOfName"/>
  2772. <link id="TStrings.Strings"/>
  2773. </seealso>
  2774. </element>
  2775. <element name="TStrings.IndexOfName"> <!-- Function -->
  2776. <short>Finds the index of a name in the name-value pairs.</short>
  2777. <descr>
  2778. <p>
  2779. <var>IndexOfName</var> searches in the list of strings for a name-value pair
  2780. with name part <var>Name</var>. If such a pair is found, it returns the
  2781. index of the pair in the stringlist. If no such pair is found, the function
  2782. returns <var>-1</var>. The search is done case-insensitive.
  2783. </p>
  2784. <remark>
  2785. <ol>
  2786. <li>Only the first occurrence of a matching name-value pair is returned.</li>
  2787. <li>The returned position is zero-based, i.e. 0 indicates the first string
  2788. in the list.</li>
  2789. </ol>
  2790. </remark>
  2791. </descr>
  2792. <seealso>
  2793. <link id="TStrings.IndexOf"/>
  2794. <link id="TStrings.IndexOfObject"/>
  2795. <link id="TStrings.Strings"/>
  2796. </seealso>
  2797. </element>
  2798. <element name="TStrings.IndexOfObject"> <!-- Function -->
  2799. <short>Finds an object in the list and returns its index.</short>
  2800. <descr>
  2801. <p>
  2802. <var>IndexOfObject</var> searchs through the list of strings till it find a
  2803. string associated with <var>AObject</var>, and returns the index of this
  2804. string. If no such string is found, <var>-1</var> is returned.
  2805. </p>
  2806. <remark>
  2807. <ol>
  2808. <li>Only the first occurrence of a string with associated object
  2809. <var>AObject</var> is returned; if more strings in the list can be
  2810. associated with <var>AObject</var>, they will not be found by this routine.</li>
  2811. <li>The returned position is zero-based, i.e. 0 indicates the first string
  2812. in the list.</li>
  2813. </ol>
  2814. </remark>
  2815. </descr>
  2816. <seealso>
  2817. </seealso>
  2818. </element>
  2819. <element name="TStrings.Insert"> <!-- Procedure -->
  2820. <short>Insert a string in the list.</short>
  2821. <descr>
  2822. <p>
  2823. <var>Insert</var> inserts the string <var>S</var> at position
  2824. <var>Index</var> in the list. <var>Index</var> is a zero-based position,
  2825. and can have values from <var>0</var> to <var>Count</var>. If
  2826. <var>Index</var> equals <var>Count</var> then the string is appended to the
  2827. list.
  2828. </p>
  2829. <remark>
  2830. <ol>
  2831. <li>All methods that add strings to the list use <var>Insert</var> to add
  2832. a string to the list.</li>
  2833. <li>If the string has an associated object, use <link
  2834. id="TStrings.InsertObject"/> instead.</li>
  2835. </ol>
  2836. </remark>
  2837. </descr>
  2838. <errors>
  2839. If <var>Index</var> is less than zero or larger than <var>Count</var> then
  2840. an <link id="EStringListError"/> exception is raised.
  2841. </errors>
  2842. <seealso>
  2843. <link id="TStrings.Add"/>
  2844. <link id="TStrings.InsertObject"/>
  2845. <link id="TStrings.Append"/>
  2846. <link id="TStrings.Delete"/>
  2847. </seealso>
  2848. </element>
  2849. <element name="TStrings.InsertObject"> <!-- Procedure -->
  2850. <short>Insert a string and associated object in the list.</short>
  2851. <descr>
  2852. <p>
  2853. <var>InsertObject</var> inserts the string <var>S</var> and its associated
  2854. object<var>AObject</var> at position <var>Index</var> in the list.
  2855. <var>Index</var> is a zero-based position, and can have values from
  2856. <var>0</var> to <var>Count</var>. If <var>Index</var> equals
  2857. <var>Count</var> then the string is appended to the list.
  2858. </p>
  2859. </descr>
  2860. <errors>
  2861. If <var>Index</var> is less than zero or larger than <var>Count</var> then
  2862. an <link id="EStringListError"/> exception is raised.
  2863. </errors>
  2864. <seealso>
  2865. <link id="TStrings.Insert"/>
  2866. <link id="TStrings.AddObject"/>
  2867. <link id="TStrings.Append"/>
  2868. <link id="TStrings.Delete"/>
  2869. </seealso>
  2870. </element>
  2871. <element name="TStrings.LoadFromFile"> <!-- Procedure -->
  2872. <short>Load the contents of a file as a series of strings.</short>
  2873. <descr>
  2874. <p>
  2875. <var>LoadFromFile</var> loads the contents of a file into the stringlist.
  2876. Each line in the file (as marked by the end-of-line marker of the
  2877. particular OS the application runs on) becomes one string in the stringlist.
  2878. This action replaces
  2879. the contents of the stringlist, it does not append the strings to the
  2880. current content.
  2881. </p>
  2882. <p>
  2883. <var>LoadFromFile</var> simply creates a <link id="TFileStream">file
  2884. stream</link> with the given filename, and then executes
  2885. <link id="TStrings.LoadfromStream"/>; after that the file stream object
  2886. is destroyed again.
  2887. </p>
  2888. </descr>
  2889. <seealso>
  2890. <link id="TStrings.LoadFromStream"/>
  2891. <link id="TStrings.SaveToFile"/>
  2892. <link id="Tstrings.SaveToStream"/>
  2893. </seealso>
  2894. </element>
  2895. <element name="TStrings.LoadFromStream"> <!-- Procedure -->
  2896. <short>Load the contents of a stream as a series of strings.</short>
  2897. <descr>
  2898. <var>LoadFromStream</var> loads the contents of <var>Stream</var>
  2899. into the stringlist.
  2900. Each line in the stream (as marked by the end-of-line marker of the
  2901. particular OS the application runs on) becomes one string in the stringlist.
  2902. This action replaces
  2903. the contents of the stringlist, it does not append the strings to the
  2904. current content.
  2905. </descr>
  2906. <seealso>
  2907. <link id="TStrings.LoadFromFile"/>
  2908. <link id="TStrings.SaveToFile"/>
  2909. <link id="Tstrings.SaveToStream"/>
  2910. </seealso>
  2911. </element>
  2912. <element name="TStrings.Move"> <!-- Procedure -->
  2913. <short>Move a string from one place in the list to another.</short>
  2914. <descr>
  2915. <p>
  2916. <var>Move</var> moves the string at position <var>CurIndex</var> so
  2917. it has position <var>NewIndex</var> after the move operation. The object
  2918. associated to the string is also moved. <var>CurIndex</var> and
  2919. <var>NewIndex</var> should be in the range of <var>0</var> to
  2920. <var>Count-1</var>.
  2921. </p>
  2922. <remark>
  2923. <p>
  2924. <var>NewIndex</var> is <em>not</em> the position in the stringlist before
  2925. the move operation starts. The move operation
  2926. </p>
  2927. <ol>
  2928. <li> removes the string from position <var>CurIndex</var></li>
  2929. <li> inserts the string at position <var>NewIndex</var></li>
  2930. </ol>
  2931. <p>
  2932. This may not lead to the desired result if <var>NewIndex</var> is bigger
  2933. than <var>CurIndex</var>. Consider the following example:
  2934. </p>
  2935. <code>
  2936. With MyStrings do
  2937. begin
  2938. Clear;
  2939. Add('String 0');
  2940. Add('String 1');
  2941. Add('String 2');
  2942. Add('String 3');
  2943. Add('String 4');
  2944. Move(1,3);
  2945. end;
  2946. </code>
  2947. <p>
  2948. After the <var>Move</var> operation has completed, 'String 1' will be between 'String 3'
  2949. and 'String 4'.
  2950. </p>
  2951. </remark>
  2952. </descr>
  2953. <errors>
  2954. If either <var>CurIndex</var> or <var>NewIndex</var> is outside the allowed
  2955. range, an <link id="EStringListError"/> is raised.
  2956. </errors>
  2957. <seealso>
  2958. <link id="TStrings.Exchange"/>
  2959. </seealso>
  2960. </element>
  2961. <element name="TStrings.SaveToFile"> <!-- Procedure -->
  2962. <short>Save the contents of the list to a file.</short>
  2963. <descr>
  2964. <p>
  2965. <var>SaveToFile</var> saves the contents of the stringlist to the file with
  2966. name <var>FileName</var>. It writes the strings to the file, separated by
  2967. end-of-line markers, so each line in the file will contain 1 string from the
  2968. stringlist.
  2969. </p>
  2970. <p>
  2971. <var>SaveToFile</var> creates a <link id="TFileStream">file stream</link>
  2972. with name <var>FileName</var>, calls <link id="TStrings.SaveToStream"/>
  2973. and then destroys the file stream object.
  2974. </p>
  2975. </descr>
  2976. <errors>
  2977. An <link id="EStreamError"/> exception can be raised if the file <var>FileName</var> cannot be opened,
  2978. or if it cannot be written to.
  2979. </errors>
  2980. <seealso>
  2981. <link id="TStrings.SaveToStream"/>
  2982. <link id="Tstrings.LoadFromStream"/>
  2983. <link id="TStrings.LoadFromFile"/>
  2984. </seealso>
  2985. </element>
  2986. <element name="TStrings.SaveToStream"> <!-- Procedure -->
  2987. <short>Save the contents of the string to a stream.</short>
  2988. <descr>
  2989. <p>
  2990. <var>SaveToStream</var> saves the contents of the stringlist to
  2991. <var>Stream</var>. It writes the strings to the stream, separated by
  2992. end-of-line markers, so each 'line' in the stream will contain 1 string from the
  2993. stringlist.
  2994. </p>
  2995. </descr>
  2996. <errors>
  2997. An <link id="EStreamError"/> exception can be raised if the stream cannot be written to.
  2998. </errors>
  2999. <seealso>
  3000. <link id="TStrings.SaveToFile"/>
  3001. <link id="Tstrings.LoadFromStream"/>
  3002. <link id="TStrings.LoadFromFile"/>
  3003. </seealso>
  3004. </element>
  3005. <element name="TStrings.SetText"> <!-- Procedure -->
  3006. <short>Set the contents of the list from a PChar.</short>
  3007. <descr>
  3008. <var>SetText</var> parses the contents of <var>TheText</var> and fills the
  3009. stringlist based on the contents. It regards <var>TheText</var> as a series
  3010. of strings, separated by end-of-line markers. Each of these strings is added
  3011. to the stringlist.
  3012. </descr>
  3013. <seealso>
  3014. <link id="TStrings.Text"/>
  3015. </seealso>
  3016. </element>
  3017. <element name="TStrings.Capacity"> <!-- Property -->
  3018. <short>Capacity of the list, i.e. number of strings that the list can
  3019. currently hold before it tries to expand.</short>
  3020. <descr>
  3021. <p>
  3022. <var>Capacity</var> is the number of strings that the list can hold before
  3023. it tries to allocate more memory.
  3024. </p>
  3025. <p><var>TStrings</var> returns <link id="TStrings.Count"/> when read. Trying
  3026. to set the capacity has no effect. Descendent classes such as
  3027. <link id="TStringlist"/> can override this property such that it actually
  3028. sets the new capacity.
  3029. </p>
  3030. </descr>
  3031. <seealso>
  3032. <link id="TStringList"/>
  3033. <link id="TStrings.Count"/>
  3034. </seealso>
  3035. </element>
  3036. <element name="TStrings.CommaText"> <!-- Property -->
  3037. <short>Contents of the list as a comma-separated string.</short>
  3038. <descr>
  3039. <p>
  3040. <var>CommaText</var> represents the stringlist as a single string,
  3041. consisting of a comma-separated concatenation of the strings in the list.
  3042. If one of the strings contains spaces, comma's or quotes it will be enclosed by
  3043. double quotes. Any double quotes in a string will be doubled. For instance
  3044. the following strings:
  3045. </p>
  3046. <pre>
  3047. Comma,string
  3048. Quote"string
  3049. Space string
  3050. NormalSttring
  3051. </pre>
  3052. <p>
  3053. is converted to
  3054. </p>
  3055. <code>
  3056. "Comma,string","Quote""String","Space string",NormalString
  3057. </code>
  3058. <p>
  3059. Conversely, when setting the <var>CommaText</var> property, the text will be parsed
  3060. according to the rules outlined above, and the strings will be set
  3061. accordingly. Note that spaces will in this context be regarded as string
  3062. separators, unless the string as a whole is contained in double quotes.
  3063. Spaces that occur next to a delimiter will be ignored.
  3064. The following string:
  3065. </p>
  3066. <pre>
  3067. "Comma,string" , "Quote""String",Space string,, NormalString
  3068. </pre>
  3069. <p>
  3070. Will be converted to
  3071. </p>
  3072. <pre>
  3073. Comma,String
  3074. Quote"String
  3075. Space
  3076. String
  3077. NormalString
  3078. </pre>
  3079. </descr>
  3080. <seealso>
  3081. <link id="TStrings.Text"/>
  3082. <link id="TStrings.SetText"/>
  3083. </seealso>
  3084. </element>
  3085. <element name="TStrings.Count"> <!-- Property -->
  3086. <short>Number of strings in the list.</short>
  3087. <descr>
  3088. <p>
  3089. <var>Count</var> is the current number of strings in the list.
  3090. <var>TStrings</var> does not implement this property; descendent classes
  3091. should override the property read handler to return the correct value.
  3092. </p>
  3093. <p>
  3094. Strings in the list are always uniquely identified by their
  3095. <var>Index</var>; the index of a string is zero-based, i.e. it's supported
  3096. range is <var>0</var> to <var>Count-1</var>. trying to access a string with
  3097. an index larger than or equal to <var>Count</var> will result in an error.
  3098. Code that iterates over the list in a stringlist should always take into
  3099. account the zero-based character of the list index.
  3100. </p>
  3101. </descr>
  3102. <seealso>
  3103. <link id="TStrings.Strings"/>
  3104. <link id="TStrings.Objects"/>
  3105. <link id="TStrings.Capacity"/>
  3106. </seealso>
  3107. </element>
  3108. <element name="TStrings.Names"> <!-- Property -->
  3109. <short>Name parts of the name-value pairs in the list.</short>
  3110. <descr>
  3111. <p>
  3112. <var>Names</var> provides indexed access to the names of teh name-value
  3113. pairs in the list. It returns the name part of the <var>Index</var>-th
  3114. string in the list.
  3115. </p>
  3116. <remark>
  3117. The index is not an index based on the number of name-value pairs in the
  3118. list. It is the name part of the name-value pair a string <var>Index</var>
  3119. in the list. If the string at position <var>Index</var> is not a name-value
  3120. pair (i.e. does not contain the equal sign (=)), then an empty name is
  3121. returned.
  3122. </remark>
  3123. </descr>
  3124. <seealso>
  3125. <link id="TStrings.Values"/>
  3126. <link id="TStrings.IndexOfName"/>
  3127. </seealso>
  3128. </element>
  3129. <element name="TStrings.Objects"> <!-- Property -->
  3130. <short>Indexed access to the objects associated with the strings in the
  3131. list.</short>
  3132. <descr>
  3133. <p>
  3134. <var>Objects</var> provides indexed access to the objects associated to
  3135. the strings in the list. <var>Index</var> is a zero-based index and
  3136. must be in the range of <var>0</var> to <var>Count-1</var>.
  3137. </p>
  3138. <p>
  3139. Setting the <var>objects</var> property will not free the previously associated object,
  3140. if there was one. The caller is repsonsible for freeing the object that
  3141. was previously associated to the string.
  3142. </p>
  3143. <p>
  3144. <var>TStrings</var> does not implement any storage for objects. Reading the
  3145. <var>Objects</var> property will always return <var>Nil</var>, Setting the
  3146. property will have no effect. It is the responsability of the descendent
  3147. classes to provide storage for the associated objects.
  3148. </p>
  3149. </descr>
  3150. <errors>
  3151. If an <var>Index</var> outside the valid range is specified, an <link
  3152. id="EStringListError"/> exception will be raised.
  3153. </errors>
  3154. <seealso>
  3155. <link id="TStrings.Strings"/>
  3156. <link id="TStrings.IndexOfObject"/>
  3157. <link id="TStrings.Names"/>
  3158. <link id="TStrings.Values"/>
  3159. </seealso>
  3160. </element>
  3161. <element name="TStrings.Values"> <!-- Property -->
  3162. <short>Value parts of the name-value pairs in the list.</short>
  3163. <descr>
  3164. <p>
  3165. <var>Values</var> represents the value parts of the name-value pairs in the
  3166. list.
  3167. </p>
  3168. <p>
  3169. When reading this property, if there is a name-value pair in the list
  3170. of strings that has name part <var>Name</var>, then the corresponding value
  3171. is returned. If there is no such pair, an empty string is returned.
  3172. </p>
  3173. <p>
  3174. When writing this value, first it is checked whether there exists a
  3175. name-value pair in the list with name <var>Name</var>. If such a pair is
  3176. found, it's value part is overwritten with the specified value. If no
  3177. such pair is found, a new name-value pair is added with the specified
  3178. <var>Name</var> and value.
  3179. </p>
  3180. <remark>
  3181. <ol>
  3182. <li>Names are compared case-insensitively.</li>
  3183. <li>Any character, including whitespace, up till the first equal (=) sign
  3184. in a string is considered part of the name.</li>
  3185. </ol>
  3186. </remark>
  3187. </descr>
  3188. <seealso>
  3189. <link id="TStrings.Names"/>
  3190. <link id="TStrings.Strings"/>
  3191. <link id="TStrings.Objects"/>
  3192. </seealso>
  3193. </element>
  3194. <element name="TStrings.Strings"> <!-- Property -->
  3195. <short>Indexed access to teh strings in the list.</short>
  3196. <descr>
  3197. <p>
  3198. <var>Strings</var> is the default property of <var>TStrings</var>. It
  3199. provides indexed read-write access to the list of strings. Reading it will
  3200. return the string at position <var>Index</var> in the list. Writing it will
  3201. set the string at position <var>Index</var>.
  3202. </p>
  3203. <p>
  3204. <var>Index</var> is the position of the string in the list. It is
  3205. zero-based, i.e. valued values range from <var>0</var> (the first string in
  3206. the list) till <var>Count-1</var> (the last string in the list).
  3207. When browsing through the strings in the list, this fact must be taken into
  3208. account.
  3209. </p>
  3210. <p>
  3211. To access the objects associated with the strings in the list, use the <link
  3212. id="TStrings.Objects"/> property. The name parts of name-value pairs can be
  3213. accessed with the <link id="TStrings.Names"/> property, and the values can
  3214. be set or read through the <link id="TStrings.Values"/> property.
  3215. </p>
  3216. <p>
  3217. Searching through the list can be done using the <link
  3218. id="TStrings.IndexOf"/> method.
  3219. </p>
  3220. </descr>
  3221. <errors>
  3222. If <var>Index</var> is outside the allowed range, an <link
  3223. id="EStringListError"/> exception is raised.
  3224. </errors>
  3225. <seealso>
  3226. <link id="TStrings.Count"/>
  3227. <link id="TStrings.Objects"/>
  3228. <link id="TStrings.Names"/>
  3229. <link id="TStrings.Values"/>
  3230. <link id="TStrings.IndexOf"/>
  3231. </seealso>
  3232. </element>
  3233. <element name="TStrings.Text"> <!-- Property -->
  3234. <short>Contents of the list as one big string.</short>
  3235. <descr>
  3236. <p>
  3237. <var>Text</var> returns, when read, the contents of the stringlist as one
  3238. big string consisting of all strings in the list, separated by an
  3239. end-of-line marker. When this property is set, the string will be cut into
  3240. smaller strings, based on the positions of end-of-line markers in the
  3241. string. Any previous content of the stringlist will be lost.
  3242. </p>
  3243. <remark>
  3244. If any of the strings in the list contains an end-of-line marker, then the
  3245. resulting string will appear to contain more strings than actually present
  3246. in the list. To avoid this ambiguity, use the <link id="TStrings.CommaText"/>
  3247. property instead.
  3248. </remark>
  3249. </descr>
  3250. <seealso>
  3251. <link id="TStrings.Strings"/>
  3252. <link id="TStrings.Count"/>
  3253. <link id="TStrings.CommaText"/>
  3254. </seealso>
  3255. </element>
  3256. <element name="TStrings.StringsAdapter"> <!-- Property -->
  3257. <short>Not implemented in Free Pascal.</short>
  3258. <descr>
  3259. </descr>
  3260. <seealso>
  3261. </seealso>
  3262. </element>
  3263. <element name="TDuplicates"> <!-- Enumeration type -->
  3264. <short>Type to describe what to do with duplicate values in a <link
  3265. id="TStringlist"/>.</short>
  3266. <descr>
  3267. </descr>
  3268. <seealso>
  3269. </seealso>
  3270. </element>
  3271. <element name="TDuplicates.dupIgnore"> <!-- Enumeration value -->
  3272. <short>Duplicate values will not be be added to the list, but no error will
  3273. be triggered.</short>
  3274. <seealso>
  3275. </seealso>
  3276. </element>
  3277. <element name="TDuplicates.dupAccept"> <!-- Enumeration value -->
  3278. <short>Duplicate values can be added to the list.</short>
  3279. <descr>
  3280. </descr>
  3281. <seealso>
  3282. </seealso>
  3283. </element>
  3284. <element name="TDuplicates.dupError"> <!-- Enumeration value -->
  3285. <short>If an attempt is made to add a duplicate value to the list, an
  3286. <link id="EStringListError"/> exception is raised.</short>
  3287. <descr>
  3288. </descr>
  3289. <seealso>
  3290. </seealso>
  3291. </element>
  3292. <element name="PStringItem"> <!-- Pointer type -->
  3293. <short></short>
  3294. <descr>
  3295. </descr>
  3296. <seealso>
  3297. </seealso>
  3298. </element>
  3299. <element name="TStringItem"> <!-- Record type -->
  3300. <short></short>
  3301. <descr>
  3302. </descr>
  3303. <seealso>
  3304. </seealso>
  3305. </element>
  3306. <element name="TStringItem.FString"> <!-- Variable -->
  3307. <short></short>
  3308. <descr>
  3309. </descr>
  3310. <seealso>
  3311. </seealso>
  3312. </element>
  3313. <element name="TStringItem.FObject"> <!-- Variable -->
  3314. <short></short>
  3315. <descr>
  3316. </descr>
  3317. <seealso>
  3318. </seealso>
  3319. </element>
  3320. <element name="PStringItemList"> <!-- Pointer type -->
  3321. <short></short>
  3322. <descr>
  3323. </descr>
  3324. <seealso>
  3325. </seealso>
  3326. </element>
  3327. <element name="TStringItemList"> <!-- Array type -->
  3328. <short></short>
  3329. <descr>
  3330. </descr>
  3331. <seealso>
  3332. </seealso>
  3333. </element>
  3334. <!--
  3335. *********************************************************************
  3336. TStringList
  3337. *********************************************************************
  3338. -->
  3339. <element name="TStringList"> <!-- Class -->
  3340. <short>Standard implementation of the <link id="TStrings"/> class.</short>
  3341. <descr>
  3342. <p>
  3343. <var>TStringList</var> is a descendent class of <link id="TStrings"/> that
  3344. implements all of the abstract methods introduced there. It also introduces
  3345. some additional methods:
  3346. </p>
  3347. <ul>
  3348. <li>Sort the list, or keep the list sorted at all times</li>
  3349. <li>Special handling of duplicates in sorted lists</li>
  3350. <li>Notification of changes in the list</li>
  3351. </ul>
  3352. </descr>
  3353. <seealso>
  3354. <link id="TStrings"/>
  3355. <link id="TStrings.Duplicates"/>
  3356. <link id="TStrings.Sorted"/>
  3357. </seealso>
  3358. </element>
  3359. <element name="TStringList.Changed"> <!-- Procedure -->
  3360. <short>Called when the list of strings was modified.</short>
  3361. <descr>
  3362. </descr>
  3363. <seealso>
  3364. </seealso>
  3365. </element>
  3366. <element name="TStringList.Changing"> <!-- Procedure -->
  3367. <short>Called when the list is changing.</short>
  3368. <descr>
  3369. </descr>
  3370. <seealso>
  3371. </seealso>
  3372. </element>
  3373. <element name="TStringList.Get"> <!-- Function -->
  3374. <short>Overrides the standard read handler for the <link id="TStrings.Strings"/> property.</short>
  3375. <descr>
  3376. </descr>
  3377. <seealso>
  3378. </seealso>
  3379. </element>
  3380. <element name="TStringList.GetCapacity"> <!-- Function -->
  3381. <short>Overrides the standard read handler for the <link
  3382. id="TStrings.Capacity"/> property.</short>
  3383. <descr>
  3384. </descr>
  3385. <seealso>
  3386. </seealso>
  3387. </element>
  3388. <element name="TStringList.GetCount"> <!-- Function -->
  3389. <short>Overrides the standard read handler for the <link
  3390. id="TStrings.Count"/> property.</short>
  3391. <descr>
  3392. </descr>
  3393. <seealso>
  3394. </seealso>
  3395. </element>
  3396. <element name="TStringList.GetObject"> <!-- Function -->
  3397. <short>Overrides the standard read handler for the <link
  3398. id="TStrings.Objects"/> property.</short>
  3399. <descr>
  3400. </descr>
  3401. <seealso>
  3402. </seealso>
  3403. </element>
  3404. <element name="TStringList.Put"> <!-- Procedure -->
  3405. <short>Overrides the standard write handler for the <link
  3406. id="TStrings.Strings"/> property.</short>
  3407. <descr>
  3408. </descr>
  3409. <seealso>
  3410. </seealso>
  3411. </element>
  3412. <element name="TStringList.PutObject"> <!-- Procedure -->
  3413. <short>Overrides the standard write handler for the <link
  3414. id="TStrings.Objects"/> property.</short>
  3415. <descr>
  3416. </descr>
  3417. <seealso>
  3418. </seealso>
  3419. </element>
  3420. <element name="TStringList.SetCapacity"> <!-- Procedure -->
  3421. <short>Overrides the standard write handler for the <link
  3422. id="TStrings.Capacity"/> property.</short>
  3423. <descr>
  3424. </descr>
  3425. <seealso>
  3426. </seealso>
  3427. </element>
  3428. <element name="TStringList.SetUpdateState"> <!-- Procedure -->
  3429. <short>Overrides the standard <link id="TStrings.SetUpdateState"/>
  3430. call.</short>
  3431. <descr>
  3432. </descr>
  3433. <seealso>
  3434. </seealso>
  3435. </element>
  3436. <element name="TStringList.Destroy"> <!-- Destructor -->
  3437. <short>Destroys the stringlist.</short>
  3438. <descr>
  3439. <p>
  3440. <var>Destroy</var> clears the stringlist, release all memory allocated for
  3441. the storage of the strings, and then calls the inherited destroy method.
  3442. </p>
  3443. <remark>
  3444. Any objects associated to strings in the list will <em>not</em> be
  3445. destroyed; it is the responsability of the caller to destroy all objects
  3446. associated with strings in the list.
  3447. </remark>
  3448. </descr>
  3449. </element>
  3450. <element name="TStringList.Add"> <!-- Function -->
  3451. <short>Implements the <link id="TStrings.Add"/> function.</short>
  3452. <descr>
  3453. <p>
  3454. <var>Add</var> will add <var>S</var> to the list. If the list is sorted and
  3455. the string <var>S</var> is already present in the list and
  3456. <link id="TStringList.Duplicates"/> is <var>dupError</var> then an <link
  3457. id="EStringListError"/> exception is raised. If <var>Duplicates</var> is
  3458. set to <var>dupIgnore</var> then the return value is underfined.
  3459. </p>
  3460. <p>
  3461. If the list is sorted, new strings will not necessarily be added to the end
  3462. of the list, rather they will be inserted at their alphabetical position.
  3463. </p>
  3464. </descr>
  3465. <errors>
  3466. If the list is sorted and the string <var>S</var> is already present in the list and
  3467. <link id="TStringList.Duplicates"/> is <var>dupError</var> then an <link
  3468. id="EStringListError"/> exception is raised.
  3469. </errors>
  3470. <seealso>
  3471. <link id="TStringList.Insert"/>
  3472. <link id="TStringList.Duplicates"/>
  3473. </seealso>
  3474. </element>
  3475. <element name="TStringList.Clear"> <!-- Procedure -->
  3476. <short>Implements the <link id="TStrings.Add"/> function.</short>
  3477. <descr>
  3478. </descr>
  3479. <seealso>
  3480. </seealso>
  3481. </element>
  3482. <element name="TStringList.Delete"> <!-- Procedure -->
  3483. <short>Implements the <link id="TStrings.Delete"/> function.</short>
  3484. <descr>
  3485. </descr>
  3486. <seealso>
  3487. </seealso>
  3488. </element>
  3489. <element name="TStringList.Exchange"> <!-- Procedure -->
  3490. <short>Implements the <link id="TStrings.Exchange"/> function.</short>
  3491. <descr>
  3492. <p>
  3493. <var>Exchange</var> will exchange two items in the list as described in
  3494. <link id="TStrings.Exchange"/>.
  3495. </p>
  3496. <remark>
  3497. <var>Exchange</var> will not check whether the list os sorted or not;
  3498. if <var>Exchange</var> is called on a sorted list and the strings are not
  3499. identical, the sort order of the list will be destroyed.
  3500. </remark>
  3501. </descr>
  3502. <seealso>
  3503. <link id="TStringList.Sorted"/>
  3504. <link id="TStrings.Exchange"/>
  3505. </seealso>
  3506. </element>
  3507. <element name="TStringList.Find"> <!-- Function -->
  3508. <short>Locates the index for a given string in sorted lists.</short>
  3509. <descr>
  3510. <p>
  3511. <var>Find</var> returns <var>True</var> if the string <var>S</var> is present in the
  3512. list. Upon exit, the <var>Index</var> parameter will contain the position of
  3513. the string in the list. If the string is not found, the function will return
  3514. <var>False</var> and <var>Index</var> will contain the position where the
  3515. string will be inserted if it is added to the list.
  3516. </p>
  3517. <remark>
  3518. <ol>
  3519. <li> Use this method only on sorted lists. For unsorted lists, use <link
  3520. id="TStringList.IndexOf"/> instead.</li>
  3521. <li>Find uses a binary search method to locate the string</li>
  3522. </ol>
  3523. </remark>
  3524. </descr>
  3525. <seealso>
  3526. </seealso>
  3527. </element>
  3528. <element name="TStringList.IndexOf"> <!-- Function -->
  3529. <short>Overrides the <link id="TStrings.IndexOf"/> property.</short>
  3530. <descr>
  3531. <var>IndexOf</var> overrides the ancestor method <link
  3532. id="TStrings.indexOf"/>. It tries to optimize the
  3533. search by executing a binary search if the list is sorted. The function
  3534. returns the position of <var>S</var> if it is found in the list, or -1 if
  3535. the string is not found in the list.
  3536. </descr>
  3537. <seealso>
  3538. <link id="TStrings.IndexOf"/>
  3539. <link id="TStringList.Find"/>
  3540. </seealso>
  3541. </element>
  3542. <element name="TStringList.Insert"> <!-- Procedure -->
  3543. <short>Overrides the <link id="TStrings.Insert"/> method.</short>
  3544. <descr>
  3545. <var>Insert</var> will insert the string <var>S</var> at position
  3546. <var>Index</var> in the list. If the list is sorted, an <link
  3547. id="EStringListError"/> exception will be raised instead. <var>Index</var>
  3548. is a zero-based position.
  3549. </descr>
  3550. <errors>
  3551. If <var>Index</var> contains an invalid value (less than zero or larger than
  3552. <var>Count</var>, or the list is sorted, an <link id="EStringListError"/>
  3553. exception will be raised.
  3554. </errors>
  3555. <seealso>
  3556. <link id="TStringList.Add"/>
  3557. <link id="TStrings.Insert"/>
  3558. <link id="TStringList.InsertObject"/>
  3559. </seealso>
  3560. </element>
  3561. <element name="TStringList.Sort"> <!-- Procedure -->
  3562. <short>Sorts the strings in the list.</short>
  3563. <descr>
  3564. <var>Sort</var> will sort the strings in the list using the quicksort
  3565. algorithm. If the list has its <link id="TStringList.Sorted"/> property set
  3566. to <var>True</var> then nothing will be done.
  3567. </descr>
  3568. <seealso>
  3569. <link id="TStringList.Sorted"/>
  3570. </seealso>
  3571. </element>
  3572. <element name="TStringList.Duplicates"> <!-- Property -->
  3573. <short>Describes the behaviour of a sorted list with respect to duplicate
  3574. strings.</short>
  3575. <descr>
  3576. <p>
  3577. <var>Duplicates</var> describes what to do in case a duplicate value is
  3578. added to the list:
  3579. </p>
  3580. <table>
  3581. <tr><td>dupIgnore</td><td><printshort id="TDuplicates.dupIgnore"/></td></tr>
  3582. <tr><td>dupError</td><td><printshort id="TDuplicates.dupError"/></td></tr>
  3583. <tr><td>dupAccept</td><td><printshort id="TDuplicates.dupAccept"/></td></tr>
  3584. </table>
  3585. <p>
  3586. If the stringlist is not sorted, the <var>Duplicates</var> setting is
  3587. ignored.
  3588. </p>
  3589. </descr>
  3590. <seealso>
  3591. </seealso>
  3592. </element>
  3593. <element name="TStringList.Sorted"> <!-- Property -->
  3594. <short>Determines whether the list is sorted or not.</short>
  3595. <descr>
  3596. <p>
  3597. <var>Sorted</var> can be set to <var>True</var> in order to cause the list
  3598. of strings to be sorted. Further additions to the list will be inserted at
  3599. the correct position so the list remains sorted at all times. Setting the
  3600. property to <var>False</var> has no immediate effect, but will allow strings
  3601. to be inserted at any position.
  3602. </p>
  3603. <remark>
  3604. <ol>
  3605. <li>
  3606. When <var>Sorted</var> is <var>True</var>, <link id="TStringList.Insert"/>
  3607. cannot be used. For sorted lists, <link id="TStringList.Add"/> should be
  3608. used instead.</li>
  3609. <li>If <var>Sorted</var> is <var>True</var>, the <link
  3610. id="TStringList.Duplicates"/> setting has effect. This setting is ignored
  3611. when <var>Sorted</var> is <var>False</var>.</li>
  3612. </ol>
  3613. </remark>
  3614. </descr>
  3615. <seealso>
  3616. <link id="TStringList.Sort"/>
  3617. <link id="TStringList.Duplicates"/>
  3618. <link id="TStringList.Add"/>
  3619. <link id="TstringList.Insert"/>
  3620. </seealso>
  3621. </element>
  3622. <element name="TStringList.OnChange"> <!-- Property -->
  3623. <short>Event triggered after the list was modified.</short>
  3624. <descr>
  3625. <p>
  3626. <var>OnChange</var> can be assigned to respond to changes that have occurred
  3627. in the list. The handler is called whenever strings are added, moved,
  3628. modified or deleted from the list.
  3629. </p>
  3630. <p>
  3631. The <var>Onchange</var> event is triggered after the modification took place.
  3632. When the modification is about to happen, an <link
  3633. id="TstringList.OnChanging"/> event occurs.
  3634. </p>
  3635. </descr>
  3636. <seealso>
  3637. <link id="TStringList.OnChanging"/>
  3638. </seealso>
  3639. </element>
  3640. <element name="TStringList.OnChanging"> <!-- Property -->
  3641. <short>Event triggered when the list is about to be modified.</short>
  3642. <descr>
  3643. <p>
  3644. <var>OnChanging</var> can be assigned to respond to changes that will occurred
  3645. in the list. The handler is called whenever strings will be added, moved,
  3646. modified or deleted from the list.
  3647. </p>
  3648. <p>
  3649. The <var>Onchanging</var> event is triggered before the modification will
  3650. take place. When the modification has happened, an <link
  3651. id="TstringList.OnChange"/> event occurs.
  3652. </p>
  3653. </descr>
  3654. <seealso>
  3655. <link id="TStringList.OnChange"/>
  3656. </seealso>
  3657. </element>
  3658. <!--
  3659. *********************************************************************
  3660. TStream
  3661. *********************************************************************
  3662. -->
  3663. <element name="TStream"> <!-- Class -->
  3664. <short>Base class for streams.</short>
  3665. <descr>
  3666. <p>
  3667. <var>TStream</var> is the base class for all streaming classes. It defines
  3668. abstract methods for <link id="TStream.Read">reading</link>, <link
  3669. id="TStream.Write">writing</link> from and to streams, as well as functions to
  3670. determine the size of the stream as well as the current position of the
  3671. stream.
  3672. </p>
  3673. <p>Descendent classes such as <link id="TMemoryStream"/> or <link
  3674. id="TFileStream"/> then implement these abstract methods to write streams to
  3675. memory or file.
  3676. </p>
  3677. </descr>
  3678. <seealso>
  3679. <link id="TMemoryStream"/>
  3680. <link id="TFileStream"/>
  3681. <link id="TStringStream"/>
  3682. </seealso>
  3683. </element>
  3684. <element name="TStream.SetSize"> <!-- Procedure -->
  3685. <short>Sets the size of the stream</short>
  3686. <descr>
  3687. <var>SetSize</var> is the write handler for the <link id="TStream.Size"/>
  3688. property. The <var>TStream</var> implementation of <var>SetSize</var> does
  3689. nothing, but descendent classes may override this methods to allow
  3690. programmers to set the size of the stream.
  3691. </descr>
  3692. <seealso>
  3693. <link id="TStream.GetSize"/>
  3694. <link id="TStream.Size"/>
  3695. </seealso>
  3696. </element>
  3697. <element name="TStream.Read"> <!-- Function -->
  3698. <short>Reads data from the stream to a buffer and returns the number of
  3699. bytes read.</short>
  3700. <descr>
  3701. <p>
  3702. <var>Read</var> attempts to read <var>Count</var> from the stream to
  3703. <var>Buffer</var> and returns the number of bytes actually read.
  3704. </p>
  3705. <p>This method should be used when the number of bytes is not determined.
  3706. If a specific number of bytes is expected, use <link
  3707. id="TSTream.ReadBuffer"/> instead.
  3708. </p>
  3709. <p>
  3710. <var>Read</var> is an abstract method that is overridden by descendent
  3711. classes to do the actual reading.
  3712. </p>
  3713. </descr>
  3714. <errors>
  3715. Descendent classes that do not allow reading from the stream may raise an
  3716. exception when the <var>Read</var> is used.
  3717. </errors>
  3718. <seealso>
  3719. <link id="TStream.Write"/>
  3720. <link id="TStream.ReadBuffer"/>
  3721. </seealso>
  3722. </element>
  3723. <element name="TStream.Write"> <!-- Function -->
  3724. <short>Writes data from the stream to the buffer and returns the number of
  3725. bytes written.</short>
  3726. <descr>
  3727. <p>
  3728. <var>Write</var> attempts to write <var>Count</var> bytes from
  3729. <var>Buffer</var> to the stream. It returns the actual number of bytes
  3730. written to the stream.
  3731. </p>
  3732. <p>This method should be used when the number of bytes that should be
  3733. written is not determined. If a specific number of bytes should be
  3734. written, use <link id="TSTream.WriteBuffer"/> instead.
  3735. </p>
  3736. <p>
  3737. <var>Write</var> is an abstract method that is overridden by descendent
  3738. classes to do the actual writinging.
  3739. </p>
  3740. </descr>
  3741. <errors>
  3742. Descendent classes that do not allow writing to the stream may raise an
  3743. exception when <var>Write</var> is used.
  3744. </errors>
  3745. <seealso>
  3746. <link id="TStream.Read"/>
  3747. <link id="TStream.WriteBuffer"/>
  3748. </seealso>
  3749. </element>
  3750. <element name="TStream.Seek"> <!-- Function -->
  3751. <short>Sets the current position in the stream</short>
  3752. <descr>
  3753. <p>
  3754. <var>Seek</var> sets the position of the stream to <var>Offset</var> bytes
  3755. from <var>Origin</var>. <var>Origin</var> can have one of the following
  3756. values:
  3757. </p>
  3758. <table>
  3759. <tr><td>Constant</td><td>Meaning</td></tr>
  3760. <tr><td>soFromBeginning</td><td>Set the position relative to the start of
  3761. the stream.</td></tr>
  3762. <tr><td>soFromCurrent</td><td>Set the position relative to the beginning of
  3763. the stream.</td></tr>
  3764. <tr><td>soFromEnd</td><td>Set the position relative to the end of the
  3765. stream.</td></tr>
  3766. </table>
  3767. <p>
  3768. <var>Offset</var> should be negative when the origin is <var>SoFromEnd</var>.
  3769. It should be positive for <var>soFromBeginning</var> and can have both signs
  3770. for <var>soFromCurrent</var>
  3771. </p>
  3772. <p>
  3773. This is an abstract method, which must be overridden by descendent classes.
  3774. They may choose not to implement this method for all values of
  3775. <var>Origin</var> and <var>Offset</var>.
  3776. </p>
  3777. </descr>
  3778. <errors>
  3779. An exception may be raised if this method is called with an invalid pair of
  3780. <var>Offset</var>,<var>Origin</var> values. e.g. a negative
  3781. <var>offset</var> for <var>soFromBeginning</var>.
  3782. </errors>
  3783. <seealso>
  3784. <link id="TStream.Position"/>
  3785. </seealso>
  3786. </element>
  3787. <element name="TStream.ReadBuffer"> <!-- Procedure -->
  3788. <short>Reads data from the stream to a buffer</short>
  3789. <descr>
  3790. <p>
  3791. <var>ReadBuffer</var> reads <var>Count</var> bytes of the stream into
  3792. <var>Buffer</var>. If the stream does not contain <var>Count</var> bytes,
  3793. then an exception is raised.
  3794. </p>
  3795. <p>
  3796. <var>ReadBuffer</var> should be used to read in a fixed number of bytes,
  3797. such as when reading structures or the content of variables. If the number
  3798. of bytes is not determined, use <link id="TStream.Read"/> instead.
  3799. <var>ReadBuffer</var> uses <var>Read</var> internally to do the actual
  3800. reading.
  3801. </p>
  3802. </descr>
  3803. <errors>
  3804. If the stream does not allow to read <var>Count</var> bytes, then an
  3805. exception is raised.
  3806. </errors>
  3807. <seealso>
  3808. <link id="TStream.Read"/>
  3809. <link id="TStream.WriteBuffer"/>
  3810. </seealso>
  3811. </element>
  3812. <element name="TStream.WriteBuffer"> <!-- Procedure -->
  3813. <short>Writes data from the stream to the buffer</short>
  3814. <descr>
  3815. <p>
  3816. <var>WriteBuffer</var> writes <var>Count</var> bytes to the stream from
  3817. <var>Buffer</var>. If the stream does not allow <var>Count</var> bytes to be
  3818. written, then an exception is raised.
  3819. </p>
  3820. <p>
  3821. <var>WriteBuffer</var> should be used to read in a fixed number of bytes,
  3822. such as when writing structures or the content of variables. If the number
  3823. of bytes is not determined, use <link id="TStream.Write"/> instead.
  3824. <var>WriteBuffer</var> uses <var>Write</var> internally to do the actual
  3825. reading.
  3826. </p>
  3827. </descr>
  3828. <errors>
  3829. If the stream does not allow to write <var>Count</var> bytes, then an
  3830. exception is raised.
  3831. </errors>
  3832. <seealso>
  3833. <link id="TStream.Write"/>
  3834. <link id="TStream.ReadBuffer"/>
  3835. </seealso>
  3836. </element>
  3837. <element name="TStream.CopyFrom"> <!-- Function -->
  3838. <short>Copy data from one stream to another</short>
  3839. <descr>
  3840. <p>
  3841. <var>CopyFrom</var> reads <var>Count</var> bytes from <var>Source</var> and
  3842. writes them to the current stream. This updates the current position in the
  3843. stream. After the action is completed, the number of bytes copied is
  3844. returned.
  3845. </p>
  3846. <p>
  3847. This can be used to quickly copy data from one stream to another or to copy
  3848. the whole contents of the stream.
  3849. </p>
  3850. </descr>
  3851. <seealso>
  3852. <link id="TStream.Read"/>
  3853. <link id="TStream.Write"/>
  3854. </seealso>
  3855. </element>
  3856. <element name="TStream.ReadComponent"> <!-- Function -->
  3857. <short>Reads component data from a stream</short>
  3858. <descr>
  3859. <p>
  3860. <var>ReadComponent</var> reads a component state from the stream and
  3861. transfers this state to <var>Instance</var>. If <var>Instance</var> is nil,
  3862. then it is created first based on the type stored in the stream.
  3863. <var>ReadComponent</var> returns the component as it is read from the stream.
  3864. </p>
  3865. <p>
  3866. <var>ReadComponent</var> simply creates a <link id="TReader"/> object and
  3867. calls its <link id="TReader.ReadRootComponent">ReadRootComponent</link>
  3868. method.
  3869. </p>
  3870. </descr>
  3871. <errors>
  3872. If an error occurs during the reading of the component, an <link
  3873. id="EFilerError"/> exception is raised.
  3874. </errors>
  3875. <seealso>
  3876. <link id="TStream.WriteComponent"/>
  3877. <link id="TStream.ReadComponentRes"/>
  3878. <link id="TReader.ReadRootComponent"/>
  3879. </seealso>
  3880. </element>
  3881. <element name="TStream.ReadComponentRes"> <!-- Function -->
  3882. <short>Reads component data and resource header from a stream</short>
  3883. <descr>
  3884. <p>
  3885. <var>ReadComponentRes</var> reads a resource header from the stream, and then
  3886. calls <link id="TStream.ReadComponent">ReadComponent</link> to read the
  3887. component state from the stream into <var>Instance</var>.
  3888. </p>
  3889. <p>
  3890. This method is usually called by the global streaming method when
  3891. instantiating forms and datamodules as created by an IDE. It should be used
  3892. mainly on Windows, to store components in Windows resources.
  3893. </p>
  3894. </descr>
  3895. <errors>
  3896. If an error occurs during the reading of the component, an <link
  3897. id="EFilerError"/> exception is raised.
  3898. </errors>
  3899. <seealso>
  3900. <link id="TStream.ReadComponent"/>
  3901. <link id="TStream.WriteComponentRes"/>
  3902. </seealso>
  3903. </element>
  3904. <element name="TStream.WriteComponent"> <!-- Procedure -->
  3905. <short>Write component data to the stream</short>
  3906. <descr>
  3907. <p>
  3908. <var>WriteComponent</var> writes the published properties of
  3909. <var>Instance</var> to the stream, so they can later be read with <link
  3910. id="TStream.ReadComponent"/>. This method is intended to be used by an IDE,
  3911. to preserve the state of a form or datamodule as designed in the IDE.
  3912. </p>
  3913. <p>
  3914. <var>WriteComponent</var> simply calls <link
  3915. id="TStream.WriteDescendent">WriteDescendent</link> with <var>Nil</var>
  3916. ancestor.
  3917. </p>
  3918. </descr>
  3919. <seealso>
  3920. <link id="TStream.ReadComponent"/>
  3921. <link id="TStream.WriteComponentRes"/>
  3922. </seealso>
  3923. </element>
  3924. <element name="TStream.WriteComponentRes"> <!-- Procedure -->
  3925. <short>Write resource header and component data to a stream</short>
  3926. <descr>
  3927. <p>
  3928. <var>WriteComponentRes</var> writes a <var>ResName</var> resource header
  3929. to the stream and then calls <link id="TStream.WriteComponent">WriteComponent</link>
  3930. to write the published properties of <var>Instance</var> to the stream.
  3931. </p>
  3932. <p>
  3933. This method is intened for use by an IDE that can use it to store forms or
  3934. datamodules as designed in a Windows resource stream.
  3935. </p>
  3936. </descr>
  3937. <seealso>
  3938. <link id="TStream.WriteComponent"/>
  3939. <link id="TStream.ReadComponentRes"/>
  3940. </seealso>
  3941. </element>
  3942. <element name="TStream.WriteDescendent"> <!-- Procedure -->
  3943. <short>Write component data to a stream, relative to an ancestor</short>
  3944. <descr>
  3945. <p>
  3946. <var>WriteDescendent</var> writes the state of <var>Instance</var> to the
  3947. stream where it differs from <var>Ancestor</var>, i.e. only the changed
  3948. properties are written to the stream.
  3949. </p>
  3950. <p>
  3951. <var>WriteDescendent</var> creates a <link id="TWriter"/> object and calls
  3952. its <link id="TWriter.WriteDescendent">WriteDescendent</link> object. The
  3953. writer is passed a <link id="TBinaryObjectWriter">binary driver
  3954. object</link> by default.
  3955. </p>
  3956. </descr>
  3957. <seealso>
  3958. </seealso>
  3959. </element>
  3960. <element name="TStream.WriteDescendentRes"> <!-- Procedure -->
  3961. <short>Write resource header and component data to a stream, relative to an ancestor</short>
  3962. <descr>
  3963. <p>
  3964. <var>WriteDescendentRes</var> writes a <var>ResName</var> resource header,
  3965. and then calls <link id="TStream.WriteDescendent">WriteDescendent</link> to
  3966. write the state of <var>Instance</var> to the
  3967. stream where it differs from <var>Ancestor</var>, i.e. only the changed
  3968. properties are written to the stream.
  3969. </p>
  3970. <p>
  3971. This method is intened for use by an IDE that can use it to store forms or
  3972. datamodules as designed in a Windows resource stream.
  3973. </p>
  3974. </descr>
  3975. <seealso>
  3976. </seealso>
  3977. </element>
  3978. <element name="TStream.WriteResourceHeader"> <!-- Procedure -->
  3979. <short>Write resource header to the stream</short>
  3980. <descr>
  3981. <p>
  3982. <var>WriteResourceHeader</var> writes a resource-file header for a resource
  3983. called <var>ResName</var>. It returns in <var>FixupInfo</var> the argument
  3984. that should be passed on to <link id="TStream.FixupResourceHeader"/>.
  3985. </p>
  3986. <p>
  3987. <var>WriteResourceHeader</var> should not be used directly. It is called by
  3988. the <link id="TStream.WriteComponentRes"/> and
  3989. <link id="TStream.WriteDescendentRes"/>
  3990. methods.
  3991. </p>
  3992. </descr>
  3993. <seealso>
  3994. <link id="TStream.FixupResourceHeader"/>
  3995. <link id="TStream.WriteComponentRes"/>
  3996. <link id="TStream.WriteDescendentRes"/>
  3997. </seealso>
  3998. </element>
  3999. <element name="TStream.FixupResourceHeader"> <!-- Procedure -->
  4000. <short>Not implemented in FPC</short>
  4001. <descr>
  4002. <p>
  4003. <var>FixupResourceHeader</var> is used to write the size of the resource
  4004. after a component was written to stream. The size is determined from the
  4005. current position, and it is written at position <var>FixupInfo</var>. After
  4006. that the current position is restored.
  4007. </p>
  4008. <p>
  4009. <var>FixupResourceHeader</var> should never be called directly; it is
  4010. handled by the streaming system.
  4011. </p>
  4012. </descr>
  4013. <seealso>
  4014. <link id="TStream.WriteResourceHeader"/>
  4015. <link id="TStream.WriteComponentRes"/>
  4016. <link id="TStream.WriteDescendentRes"/>
  4017. </seealso>
  4018. </element>
  4019. <element name="TStream.ReadResHeader"> <!-- Procedure -->
  4020. <short>Read a resource header from the stream.</short>
  4021. <descr>
  4022. <p>
  4023. <var>ReadResourceHeader</var> reads a reasource file header from the stream.
  4024. It positions the stream just beyond the header.
  4025. </p>
  4026. <p>
  4027. <var>ReadResourceHeader</var> should not be called directly, it is called by
  4028. the streaming system when needed.
  4029. </p>
  4030. </descr>
  4031. <errors>
  4032. If the resource header is invalid an <link id="EInvalidImage"/> exception is
  4033. raised.
  4034. </errors>
  4035. <seealso>
  4036. <link id="TStream.ReadComponentRes"/>
  4037. <link id="EInvalidImage"/>
  4038. </seealso>
  4039. </element>
  4040. <element name="TStream.ReadByte"> <!-- Function -->
  4041. <short>Read a byte from the stream and return its value.</short>
  4042. <descr>
  4043. <var>ReadByte</var> reads one byte from the stream and returns its value.
  4044. </descr>
  4045. <errors>
  4046. If the byte cannot be read, a <link id="EStreamError"/> exception will be
  4047. raised. This is a utility function which symply calls the
  4048. <link id="TStream.Read">Read</link> function.
  4049. </errors>
  4050. <seealso>
  4051. <link id="TStream.Read"/>
  4052. <link id="TStream.WriteByte"/>
  4053. <link id="TStream.ReadWord"/>
  4054. <link id="TStream.ReadDWord"/>
  4055. <link id="TStream.ReadAnsiString"/>
  4056. </seealso>
  4057. </element>
  4058. <element name="TStream.ReadWord"> <!-- Function -->
  4059. <short>Read a word from the stream and return its value.</short>
  4060. <descr>
  4061. <var>ReadWord</var> reads one Word (i.e. 2 bytes) from the stream
  4062. and returns its value. This is a utility function which symply calls the
  4063. <link id="TStream.Read">Read</link> function.
  4064. </descr>
  4065. <errors>
  4066. If the word cannot be read, a <link id="EStreamError"/> exception will be
  4067. raised.
  4068. </errors>
  4069. <seealso>
  4070. <link id="TStream.Read"/>
  4071. <link id="TStream.WriteWord"/>
  4072. <link id="TStream.ReadByte"/>
  4073. <link id="TStream.ReadDWord"/>
  4074. <link id="TStream.ReadAnsiString"/>
  4075. </seealso>
  4076. </element>
  4077. <element name="TStream.ReadDWord"> <!-- Function -->
  4078. <short>Read a DWord from the stream and return its value.</short>
  4079. <descr>
  4080. <var>ReadDWord</var> reads one DWord (i.e. 4 bytes) from the stream
  4081. and returns its value. This is a utility function which simply calls the
  4082. <link id="TStream.Read">Read</link> function.
  4083. </descr>
  4084. <errors>
  4085. If the DWord cannot be read, a <link id="EStreamError"/> exception will be
  4086. raised.
  4087. </errors>
  4088. <seealso>
  4089. <link id="TStream.Read"/>
  4090. <link id="TStream.WriteDWord"/>
  4091. <link id="TStream.ReadByte"/>
  4092. <link id="TStream.ReadWord"/>
  4093. <link id="TStream.ReadAnsiString"/>
  4094. </seealso>
  4095. </element>
  4096. <element name="TStream.ReadAnsiString"> <!-- Function -->
  4097. <short>Read an ansistring from the stream and return its value.</short>
  4098. <descr>
  4099. <var>ReadAnsiString</var> reads an ansistring from the stream
  4100. and returns its value. This is a utility function which simply calls the
  4101. read function several times.
  4102. The Ansistring should be stored as 4 bytes (a DWord) representing the length
  4103. of the string, and then the string value itself.
  4104. The <link id="TStream.WriteAnsiString">WriteAnsiString</link> function
  4105. writes an ansistring in such a format.
  4106. </descr>
  4107. <errors>
  4108. If the AnsiString cannot be read, a <link id="EStreamError"/> exception will be
  4109. raised.
  4110. </errors>
  4111. <seealso>
  4112. <link id="TStream.Read"/>
  4113. <link id="TStream.WriteAnsiString"/>
  4114. <link id="TStream.ReadByte"/>
  4115. <link id="TStream.ReadWord"/>
  4116. <link id="TStream.ReadDWord"/>
  4117. </seealso>
  4118. </element>
  4119. <element name="TStream.WriteByte"> <!-- Procedure -->
  4120. <short>Write a byte to the stream.</short>
  4121. <descr>
  4122. <var>WriteByte</var> writes the byte <var>B</var> to the stream. This is a
  4123. utility function which simply calls the <link
  4124. id="TStream.Write">Write</link> function.
  4125. The byte can be read from the stream using the <link
  4126. id="TStream.ReadByte">ReadByte</link> function.
  4127. </descr>
  4128. <errors>
  4129. If an error occurs when attempting to write, an <link id="EStreamError"/> exception will be raised.
  4130. </errors>
  4131. <seealso>
  4132. <link id="TStream.Write"/>
  4133. <link id="TStream.ReadByte"/>
  4134. <link id="TStream.WriteWord"/>
  4135. <link id="TStream.WriteDWord"/>
  4136. <link id="TStream.WriteAnsiString"/>
  4137. </seealso>
  4138. </element>
  4139. <element name="TStream.WriteWord"> <!-- Procedure -->
  4140. <short>Write a word to the stream.</short>
  4141. <descr>
  4142. <var>WriteWord</var> writes the word <var>W</var> (i.e. 2 bytes) to the stream. This is a
  4143. utility function which simply calls the <link
  4144. id="TStream.Write">Write</link> function.
  4145. The word can be read from the stream using the <link
  4146. id="TStream.ReadWord">ReadWord</link> function.
  4147. </descr>
  4148. <errors>
  4149. If an error occurs when attempting to write, an <link id="EStreamError"/> exception will be raised.
  4150. </errors>
  4151. <seealso>
  4152. <link id="TStream.Write"/>
  4153. <link id="TStream.ReadWord"/>
  4154. <link id="TStream.WriteByte"/>
  4155. <link id="TStream.WriteDWord"/>
  4156. <link id="TStream.WriteAnsiString"/>
  4157. </seealso>
  4158. </element>
  4159. <element name="TStream.WriteDWord"> <!-- Procedure -->
  4160. <short>Write a DWord to the stream.</short>
  4161. <descr>
  4162. <var>WriteDWord</var> writes the DWord <var>D</var> (i.e. 4 bytes) to the stream. This is a
  4163. utility function which simply calls the <link
  4164. id="TStream.Write">Write</link> function.
  4165. The DWord can be read from the stream using the <link
  4166. id="TStream.ReadDWord">ReadDWord</link> function.
  4167. </descr>
  4168. <errors>
  4169. If an error occurs when attempting to write, an <link id="EStreamError"/> exception will be raised.
  4170. </errors>
  4171. <seealso>
  4172. <link id="TStream.Write"/>
  4173. <link id="TStream.ReadDWord"/>
  4174. <link id="TStream.WriteByte"/>
  4175. <link id="TStream.WriteWord"/>
  4176. <link id="TStream.WriteAnsiString"/>
  4177. </seealso>
  4178. </element>
  4179. <element name="TStream.WriteAnsiString"> <!-- Procedure -->
  4180. <short>Write an ansistring to the stream.</short>
  4181. <descr>
  4182. <var>WriteAnsiString</var> writes the AnsiString <var>S</var> (i.e. 4 bytes) to the stream. This is a
  4183. utility function which simply calls the <link
  4184. id="TStream.Write">Write</link> function.
  4185. The ansistring is written as a 4 byte length specifier, followed by the
  4186. ansistring's content.
  4187. The ansistring can be read from the stream using the <link
  4188. id="TStream.ReadAnsiString">ReadAnsiString</link> function.
  4189. </descr>
  4190. <errors>
  4191. If an error occurs when attempting to write, an <link id="EStreamError"/> exception will be raised.
  4192. </errors>
  4193. <seealso>
  4194. <link id="TStream.Write"/>
  4195. <link id="TStream.ReadAnsiString"/>
  4196. <link id="TStream.WriteByte"/>
  4197. <link id="TStream.WriteWord"/>
  4198. <link id="TStream.WriteDWord"/>
  4199. </seealso>
  4200. </element>
  4201. <element name="TStream.Position"> <!-- Property -->
  4202. <short>The current position in the stream.</short>
  4203. <descr>
  4204. <p>
  4205. <var>Position</var> can be read to determine the current position in the
  4206. stream. It can be written to to set the (absolute) position in the stream.
  4207. The position is zero-based, so to set the position at the beginning of the
  4208. stream, the position must be set to zero.
  4209. </p>
  4210. <remark>
  4211. Not all <var>TStream</var> descendants support setting the position in the
  4212. stream, so this should be used with care.
  4213. </remark>
  4214. </descr>
  4215. <errors>
  4216. Some descendents may raise an <link id="EStreamError"/> exception if they
  4217. do not support setting the stream position.
  4218. </errors>
  4219. <seealso>
  4220. <link id="TStream.Size"/>
  4221. <link id="TStream.Seek"/>
  4222. </seealso>
  4223. </element>
  4224. <element name="TStream.Size"> <!-- Property -->
  4225. <short>The current size of the stream.</short>
  4226. <descr>
  4227. <p>
  4228. <var>Size</var> can be read to determine the stream size or to set the
  4229. stream size.
  4230. </p>
  4231. <remark>
  4232. Not all descendents of <var>TStream</var> support getting or setting the
  4233. stream size; they may raise an exception if the <var>Size</var> property
  4234. is read or set.
  4235. </remark>
  4236. </descr>
  4237. <seealso>
  4238. <link id="TStream.Position"/>
  4239. <link id="TStream.Seek"/>
  4240. </seealso>
  4241. </element>
  4242. <!--
  4243. *********************************************************************
  4244. THandleStream
  4245. *********************************************************************
  4246. -->
  4247. <element name="THandleStream"> <!-- Class -->
  4248. <short>Base clas for streams that are identified by an OS handle.</short>
  4249. <descr>
  4250. <p>
  4251. <var>THandleStream</var> is an abstract descendent of the <link
  4252. id="TStream"/>
  4253. class that provides methods for a stream to handle all reading and writing
  4254. to and from a handle, provided by the underlying OS. To this end, it
  4255. overrides the <link id="THandleStream.Read">Read</link> and <link
  4256. id="THandleStream.Write">Write</link> methods of TStream.
  4257. </p>
  4258. <remark>
  4259. <ul>
  4260. <li>
  4261. <var>ThandleStream</var> does not obtain a handle from the OS by itself,
  4262. it just handles reading and writing to such a handle by wrapping the system
  4263. calls for reading and writing;
  4264. Descendent classes should obtain a handle from the OS by themselves and pass it on in the inherited
  4265. constructor.</li>
  4266. <li>
  4267. Contrary to Delphi, no seek is implemented for <var>THandleStream</var>,
  4268. since pipes and sockets do not support this. The seek is implemented in
  4269. descendent methods that support it.
  4270. </li>
  4271. </ul>
  4272. </remark>
  4273. </descr>
  4274. <seealso>
  4275. <link id="TStream"/>
  4276. <link id="TFileStream"/>
  4277. </seealso>
  4278. </element>
  4279. <element name="THandleStream.Create"> <!-- Constructor -->
  4280. <short>Create a handlestream from an OS Handle.</short>
  4281. <descr>
  4282. <var>Create</var> creates a new instance of a <var>THandleStream</var>
  4283. class. It stores <var>AHandle</var> in an internal variable and
  4284. then calls the inherited constructor.
  4285. </descr>
  4286. <seealso>
  4287. <link id="TStream"/>
  4288. </seealso>
  4289. </element>
  4290. <element name="THandleStream.Read"> <!-- Function -->
  4291. <short>Overrides standard read method.</short>
  4292. <descr>
  4293. <p>
  4294. <var>Read</var> implements the abstract <link id="TStream.Read">Read</link>
  4295. method of <var>TStream</var>. It uses the <link
  4296. id="THandleStream.Handle">Handle</link> property to read the
  4297. <var>Count</var> bytes into <var>Buffer</var>
  4298. </p>
  4299. <p>
  4300. If no error occurs while reading, the number of bytes actually read will be
  4301. returned.
  4302. </p>
  4303. </descr>
  4304. <errors>
  4305. If the operating system reports an error while reading from the handle, -1
  4306. is returned.
  4307. </errors>
  4308. <seealso>
  4309. <link id="TStream.Read"/>
  4310. <link id="THandleStream.Write"/>
  4311. <link id="THandleStream.Handle"/>
  4312. </seealso>
  4313. </element>
  4314. <element name="THandleStream.Write"> <!-- Function -->
  4315. <short>Overrides standard write method.</short>
  4316. <descr>
  4317. <p>
  4318. <var>Write</var> implements the abstract <link id="TStream.Write">Write</link>
  4319. method of <var>TStream</var>. It uses the <link
  4320. id="THandleStream.Handle">Handle</link> property to write the
  4321. <var>Count</var> bytes from <var>Buffer</var>.
  4322. </p>
  4323. <p>
  4324. If no error occurs while writing, the number of bytes actually written will be
  4325. returned.
  4326. </p>
  4327. </descr>
  4328. <errors>
  4329. If the operating system reports an error while writing to handle, -1
  4330. is returned.
  4331. </errors>
  4332. <seealso>
  4333. <link id="TStream.Read"/>
  4334. <link id="THandleStream.Write"/>
  4335. <link id="THandleStream.Handle"/>
  4336. </seealso>
  4337. </element>
  4338. <element name="THandleStream.Handle"> <!-- Property -->
  4339. <short>The OS handle of the stream.</short>
  4340. <descr>
  4341. <var>Handle</var> represents the Operating system handle to which reading
  4342. and writing is done. The handle can be read only, i.e. it cannot be set
  4343. after the <var>THandlestream</var> instance was created. It should be
  4344. passed to the constructor <link id="THandleStream.Create"/>
  4345. </descr>
  4346. <seealso>
  4347. <link id="THandleStream"/>
  4348. <link id="THandleStream.Create"/>
  4349. </seealso>
  4350. </element>
  4351. <!--
  4352. *********************************************************************
  4353. TFileStream
  4354. *********************************************************************
  4355. -->
  4356. <element name="TFileStream"> <!-- Class -->
  4357. <short>Stream that stores its data in a named file on disk.</short>
  4358. <descr>
  4359. <p>
  4360. <var>TFileStream</var> is a <link id="TStream"/> descdendent that
  4361. stores or reads it's data from a named file in the filesystem of
  4362. the operating system.
  4363. </p>
  4364. <p>
  4365. To this end, it overrides some of the abstract methods in <var>TStream</var>
  4366. and implements them for the case of files on disk, and it adds the <link
  4367. id="TFileStream.Filename">FileName</link> property to the list of public
  4368. properties.
  4369. </p>
  4370. </descr>
  4371. <seealso>
  4372. <link id="TFileStream.Create"/>
  4373. <link id="TStream"/>
  4374. </seealso>
  4375. </element>
  4376. <element name="TFileStream.SetSize"> <!-- Procedure -->
  4377. <short>Sets the size of the file stream.</short>
  4378. <descr>
  4379. <p>
  4380. <var>SetSize</var> sets the size of the file at <var>NewSize</var> bytes.
  4381. Errors returned by the operating system call will be silently ignored.
  4382. </p>
  4383. <p>
  4384. This is the protected write method of the public <link id="TStream.Size"/>
  4385. property.
  4386. </p>
  4387. </descr>
  4388. <seealso>
  4389. <link id="TStream.Size"/>
  4390. </seealso>
  4391. </element>
  4392. <element name="TFileStream.Create"> <!-- Constructor -->
  4393. <short>Creates a file stream.</short>
  4394. <descr>
  4395. <p>
  4396. <var>Create</var> creates a new instance of a <var>TFileStream</var> class.
  4397. It opens the file <var>AFileName</var> with mode <var>Mode</var>, which can
  4398. have one of the following values:
  4399. </p>
  4400. <table>
  4401. <tr>
  4402. <td>fmCreate</td><td><printshort id="fmCreate"/></td>
  4403. </tr>
  4404. <tr>
  4405. <td>fmOpenRead</td><td><printshort id="fmOpenRead"/></td>
  4406. </tr>
  4407. <tr>
  4408. <td>fmOpenWrite</td><td><printshort id="fmOpenWrite"/></td>
  4409. </tr>
  4410. <tr>
  4411. <td>fmOpenReadWrite</td><td><printshort id="fmOpenReadWrite"/></td>
  4412. </tr>
  4413. </table>
  4414. <p>
  4415. After the file has been opened in the requested mode and a handle has been
  4416. obtained from the operating system, the inherited constructor is called.
  4417. </p>
  4418. </descr>
  4419. <errors>
  4420. If the file could not be opened in the requested mode, an <link
  4421. id="EFOpenError"/> exception is raised.
  4422. </errors>
  4423. <seealso>
  4424. <link id="TStream"/>
  4425. <link id="TFileStream.FileName"/>
  4426. <link id="THandleStream.Create"/>
  4427. </seealso>
  4428. </element>
  4429. <element name="TFileStream.Destroy"> <!-- Destructor -->
  4430. <short>Destroys the file stream.</short>
  4431. <descr>
  4432. <p>
  4433. <var>Destroy</var> closes the file (causing possible buffered data to be
  4434. written to disk) and then calls the inherited destructor.
  4435. </p>
  4436. <p>
  4437. Do not call <var>destroy</var> directly, instead call the <var>Free</var>
  4438. method. Destroy does not check whether <var>Self</var> is nil, while
  4439. <var>Free</var> does.
  4440. </p>
  4441. </descr>
  4442. <seealso>
  4443. <link id="TFileStream.Create"/>
  4444. </seealso>
  4445. </element>
  4446. <element name="TFileStream.Seek"> <!-- Function -->
  4447. <short>Overrides the standard method.</short>
  4448. <descr>
  4449. <p>
  4450. <var>Seek</var> attempts to set the position of the stream at
  4451. <var>Offset</var> bytes from <var>Origin</var>. <var>Offset</var> can have
  4452. any integer value which would set the position within the boundaries of the
  4453. file, and thus the valid range depends on the value of <var>Origin</var>.
  4454. <var>Origin</var> can have one of the following values:
  4455. </p>
  4456. <table>
  4457. <tr>
  4458. <td>soFromBeginning</td><td><printshort id="soFromBeginning"/></td>
  4459. </tr>
  4460. <tr>
  4461. <td>soFromCurrent</td><td><printshort id="soFromCurrent"/></td>
  4462. </tr>
  4463. <tr>
  4464. <td>soFromEnd</td><td><printshort id="soFromEnd"/></td>
  4465. </tr>
  4466. </table>
  4467. <p>
  4468. <var>Seek</var> returns the new position in the file, or -1 on error.
  4469. </p>
  4470. </descr>
  4471. <errors>
  4472. On error, -1 is returned, and the position is not changed.
  4473. </errors>
  4474. <seealso>
  4475. <link id="TStream.Position"/>
  4476. <link id="TStream.Size"/>
  4477. </seealso>
  4478. </element>
  4479. <element name="TFileStream.FileName"> <!-- Property -->
  4480. <short>The filename of the stream.</short>
  4481. <descr>
  4482. <var>FileName</var> is the name of the file that the stream reads from or writes
  4483. to. It is the name as passed in the constructor of the stream; it cannot be
  4484. changed. To write to another file, the stream must be freed and created
  4485. again with the new filename.
  4486. </descr>
  4487. <seealso>
  4488. <link id="TFileStream.Create"/>
  4489. </seealso>
  4490. </element>
  4491. <!--
  4492. *********************************************************************
  4493. TCustomMemoryStream
  4494. *********************************************************************
  4495. -->
  4496. <element name="TCustomMemoryStream"> <!-- Class -->
  4497. <short>Abstract stream that stores its data in memory.</short>
  4498. <descr>
  4499. <p>
  4500. <var>TCustomMemoryStream</var> is the parent class for streams that stored
  4501. their data in memory. It introduces all needed functions to handle reading
  4502. from and navigating through the memory, and introduces a
  4503. <link id="TCustomMemoryStream.Memory">Memory</link> property which points to
  4504. the memory area where the stream data is kept.
  4505. </p>
  4506. <p>
  4507. The only thing which <var>TCustomMemoryStream</var> does not do is obtain
  4508. memory to store data when writing data or the writing of data. This
  4509. functionality is implemented in descendent streams such as <link
  4510. id='TMemoryStream'/>. The reason for this approach is that this way it is
  4511. possible to create e.g. read-only descendents of
  4512. <var>TCustomMemoryStream</var> that point to a fixed part in memory which
  4513. can be read from, but not written to.
  4514. </p>
  4515. <remark>
  4516. Since <var>TCustomMemoryStream</var> is an abstract class, do not create
  4517. instances of <var>TMemoryStream</var> directly. Instead,
  4518. create instances of descendents such as <link id="TMemoryStream"/>.
  4519. </remark>
  4520. </descr>
  4521. <seealso>
  4522. <link id="TMemoryStream"/>
  4523. <link id="TStream"/>
  4524. </seealso>
  4525. </element>
  4526. <element name="TCustomMemoryStream.SetPointer"> <!-- Procedure -->
  4527. <short>Sets the internal memory pointer and size of the memory block.</short>
  4528. <descr>
  4529. <p>
  4530. <var>SetPointer</var> updates the internal memory pointer and the size of
  4531. the memory area pointed to.
  4532. </p>
  4533. <p>
  4534. Descendent memory streams should call this method whenever they set or reset
  4535. the memory the stream should read from or write to.
  4536. </p>
  4537. </descr>
  4538. <seealso>
  4539. <link id="TCustomMemoryStream.Memory"/>
  4540. <link id="TStream.Size"/>
  4541. </seealso>
  4542. </element>
  4543. <element name="TCustomMemoryStream.Read"> <!-- Function -->
  4544. <short>Reads <var>Count</var> bytes from the stream into <var>buffer</var>.</short>
  4545. <descr>
  4546. <p>
  4547. <var>Read</var> reads <var>Count</var> bytes from the stream into the memory
  4548. pointed to by <var>buffer</var>. It returns the number of bytes actually
  4549. read.
  4550. </p>
  4551. <p>
  4552. This method overrides the abstract <link id="TStream.Read"/> method of <link
  4553. id="TStream"/>. It will read as much bytes as are still available in the
  4554. memory area pointer to by <link id="TCustomMemoryStream.Memory">Memory</link>.
  4555. After the bytes are read, the internal stream position is updated.
  4556. </p>
  4557. </descr>
  4558. <seealso>
  4559. <link id="TCustomMemoryStream.Memory"/>
  4560. <link id="TStream.Read"/>
  4561. </seealso>
  4562. </element>
  4563. <element name="TCustomMemoryStream.Seek"> <!-- Function -->
  4564. <short>Sets a new position in the stream.</short>
  4565. <descr>
  4566. <var>Seek</var> overrides the abstract <link id="TStream.Seek"/> method.
  4567. It simply updates the internal stream position, and returns the new
  4568. position.
  4569. </descr>
  4570. <errors>
  4571. No checking is done whether the new position is still a valid position, i.e.
  4572. whether the position is still within the range <var>0..Size</var>.
  4573. Attempting a seek outside the valid memory range of the stream may result in
  4574. an exception at the next read or write operation.
  4575. </errors>
  4576. <seealso>
  4577. <link id="TStream.Position"/>
  4578. <link id="TStream.Size"/>
  4579. <link id="TCustomMemoryStream.Memory"/>
  4580. </seealso>
  4581. </element>
  4582. <element name="TCustomMemoryStream.SaveToStream"> <!-- Procedure -->
  4583. <short>Writes the contents of the memory stream to another stream.</short>
  4584. <descr>
  4585. <p>
  4586. <var>SaveToStream</var> writes the contents of the memory stream to
  4587. <var>Stream</var>. The content of <var>Stream</var> is not cleared first.
  4588. The current position of the memory stream is not changed by this action.
  4589. </p>
  4590. <remark>
  4591. <p>
  4592. This method will work much faster than the use of the
  4593. <link id="TStream.CopyFrom"/> method:
  4594. </p>
  4595. <code>
  4596. Seek(0,soFromBeginning);
  4597. Stream.CopyFrom(Self,Size);
  4598. </code>
  4599. <p>
  4600. because the <var>CopyFrom</var> method copies the contents in blocks, while
  4601. <var>SaveToStream</var> writes the contents of the memory as one big block.
  4602. </p>
  4603. </remark>
  4604. </descr>
  4605. <errors>
  4606. If an error occurs when writing to <var>Stream</var> an <link
  4607. id="EStreamError"/> exception will be raised.
  4608. </errors>
  4609. <seealso>
  4610. <link id="TCustomMemoryStream.SaveToFile"/>
  4611. <link id="TStream.CopyFrom"/>
  4612. </seealso>
  4613. </element>
  4614. <element name="TCustomMemoryStream.SaveToFile"> <!-- Procedure -->
  4615. <short>Writes the contents of the stream to a file.</short>
  4616. <descr>
  4617. <p>
  4618. <var>SaveToFile</var> writes the contents of the stream to a file with name
  4619. <var>FileName</var>.
  4620. It simply creates a filestream and writes the contents of the memorystream
  4621. to this file stream using <link id="TCustomMemoryStream.SaveToStream"/>.
  4622. </p>
  4623. <remark>
  4624. <p>
  4625. This method will work much faster than the use of the <link
  4626. id="TStream.CopyFrom"/> method:
  4627. </p>
  4628. <code>
  4629. Stream:=TFileStream.Create(fmCreate,FileName);
  4630. Seek(0,soFromBeginning);
  4631. Stream.CopyFrom(Self,Size);
  4632. </code>
  4633. <p>
  4634. because the <var>CopyFrom</var> method copies the contents in blocks, while
  4635. <var>SaveToFile</var> writes the contents of the memory as one big block.
  4636. </p>
  4637. </remark>
  4638. </descr>
  4639. <errors>
  4640. If an error occurs when creating or writing to the file, an <link
  4641. id="EStreamError"/> exception may occur.
  4642. </errors>
  4643. <seealso>
  4644. <link id="TCustomMemoryStream.SaveToStream"/>
  4645. <link id="TFileStream"/>
  4646. <link id="TStream.CopyFrom"/>
  4647. </seealso>
  4648. </element>
  4649. <element name="TCustomMemoryStream.Memory"> <!-- Property -->
  4650. <short>Pointer to the data kept in the memory stream.</short>
  4651. <descr>
  4652. <p>
  4653. <var>Memory</var> points to the memory area where stream keeps it's data.
  4654. The property is read-only, so the pointer cannot be set this way.
  4655. </p>
  4656. <remark>
  4657. Do not write to the memory pointed to by <var>Memory</var>, since the memory
  4658. content may be read-only, and thus writing to it may cause errors.
  4659. </remark>
  4660. </descr>
  4661. <seealso>
  4662. <link id="TStream.Size"/>
  4663. </seealso>
  4664. </element>
  4665. <!--
  4666. *********************************************************************
  4667. TMemoryStream
  4668. *********************************************************************
  4669. -->
  4670. <element name="TMemoryStream"> <!-- Class -->
  4671. <short>Standard implementation of a stream that stores its data in memory</short>
  4672. <descr>
  4673. <p>
  4674. <var>TMemoryStream</var> is a <link id="TStream"/> descendent that stores
  4675. it's data in memory. It descends directly from <link id="TCustomMemoryStream"/>
  4676. and implements the necessary to allocate and de-allocate memory diretly from
  4677. the heap. It implements the <link id="TMemoryStream.Write">Write</link> method
  4678. which is missing in <var>TCustomMemoryStream</var>.
  4679. </p>
  4680. <p>
  4681. <var>TMemoryStream</var> also introduces methods to load the contents of
  4682. another stream or a file into the memory stream.
  4683. </p>
  4684. <p>
  4685. It is not necessary to do any memory management manually, as the stream
  4686. will allocate or de-allocate memory as needed. When the stream is freed, all
  4687. allocated memory will be freed as well.
  4688. </p>
  4689. </descr>
  4690. <seealso>
  4691. <link id="TCustomMemoryStream"/>
  4692. <link id="TStream"/>
  4693. </seealso>
  4694. </element>
  4695. <element name="TMemoryStream.Realloc"> <!-- Function -->
  4696. <short>Sets the new capacity for the memory stream</short>
  4697. <descr>
  4698. <p>
  4699. <var>SetCapacity</var> sets the capacity of the memory stream, i.e.
  4700. does the actual allocation or de-allocation of memory for the stream. It
  4701. allocates at least <var>NewCapacity</var> bytes on the heap, moves the
  4702. current contents of the stream to this location (as much as fits in) and
  4703. returns the new memory location.
  4704. Extra allocated memory is not initialized, i.e. may contain garbage.
  4705. </p>
  4706. <p>
  4707. Memory is allocated in blocks of 4 Kb; this can be changed by overriding
  4708. the method.
  4709. </p>
  4710. </descr>
  4711. <seealso>
  4712. <link id="TMemoryStream.Capacity"/>
  4713. </seealso>
  4714. </element>
  4715. <element name="TMemoryStream.Capacity"> <!-- Property -->
  4716. <short>Current capacity of the stream.</short>
  4717. <descr>
  4718. <p>
  4719. <var>Capacity</var> is the current capacity of the stream, this is the
  4720. current size of the memory allocated to the stream. This is not necessarily
  4721. equal to the size of the stream, but will always be larger than or equal to
  4722. the size of the stream. When writing to the stream, the <link
  4723. id="TMemoryStream.Write"/> sets the capacity to the needed value.
  4724. </p>
  4725. <p>
  4726. If a lot of write operations will occur, performance may be improved by
  4727. setting the capacity to a large value, so less reallocations of memory will
  4728. occur while writing to the stream.
  4729. </p>
  4730. </descr>
  4731. <seealso>
  4732. <link id="TMemoryStream.ReAlloc"/>
  4733. </seealso>
  4734. </element>
  4735. <element name="TMemoryStream.Destroy"> <!-- Destructor -->
  4736. <short>Frees any allocated memory and destroys the memory stream.</short>
  4737. <descr>
  4738. <var>Free</var> clears the memory stream, thus in effect freeing any memory
  4739. allocated for it, and then frees the memory stream.
  4740. </descr>
  4741. </element>
  4742. <element name="TMemoryStream.Clear"> <!-- Procedure -->
  4743. <short>Zeroes the position, capacity and size of the stream.</short>
  4744. <descr>
  4745. <var>Clear</var> sets the position and size to 0, and sets the capacity of
  4746. the stream to 0, thus freeing all memory allocated for the stream.
  4747. </descr>
  4748. <seealso>
  4749. <link id="TStream.Size"/>
  4750. <link id="TStream.Position"/>
  4751. <link id="TCustomMemoryStream.Memory"/>
  4752. </seealso>
  4753. </element>
  4754. <element name="TMemoryStream.LoadFromStream"> <!-- Procedure -->
  4755. <short>Loads the contents of a stream into memory.</short>
  4756. <descr>
  4757. <p>
  4758. <var>LoadFromStream</var> loads the contents of <var>Stream</var> into
  4759. the memorybuffer of the stream. Any previous contents of the memory
  4760. stream are overwritten. Memory is allocated as needed.
  4761. </p>
  4762. <remark>
  4763. <p>
  4764. The <var>LoadFromStream</var> uses the <link id="TStream.Size">Size</link>
  4765. property of <var>Stream</var> to determine how much memory must be
  4766. allocated. Some streams do not allow the stream size to be determined, so
  4767. care must be taken when using this method.
  4768. </p>
  4769. <p>
  4770. This method will work much faster than the use of the <link
  4771. id="TStream.CopyFrom"/> method:
  4772. </p>
  4773. <code>
  4774. Seek(0,soFromBeginning);
  4775. CopyFrom(Stream,Stream.Size);
  4776. </code>
  4777. <p>
  4778. because the <var>CopyFrom</var> method copies the contents in blocks, while
  4779. <var>LoadFromStream</var> reads the contents of the stream as one big block.
  4780. </p>
  4781. </remark>
  4782. </descr>
  4783. <errors>
  4784. If an error occurs when reading from the stream, an <link
  4785. id="EStreamError"/> may occur.
  4786. </errors>
  4787. <seealso>
  4788. <link id="TStream.CopyFrom"/>
  4789. <link id="TMemoryStream.LoadFromFile"/>
  4790. </seealso>
  4791. </element>
  4792. <element name="TMemoryStream.LoadFromFile"> <!-- Procedure -->
  4793. <short>Loads the contents of a file into memory.</short>
  4794. <descr>
  4795. <p>
  4796. <var>LoadFromFile</var> loads the contents of the file with name
  4797. <var>FileName</var> into the memory stream. The current contents of the
  4798. memory stream is replaced by the contents of the file. Memory is allocated
  4799. as needed.
  4800. </p>
  4801. <p>
  4802. The <var>LoadFromFile</var> method simply creates a filestream and then
  4803. calls the <link id="TMemoryStream.LoadFromStream"/> method.
  4804. </p>
  4805. </descr>
  4806. If an error occurs when creating or reading from the stream, an <link
  4807. id="EStreamError"/> may occur.
  4808. <seealso>
  4809. <link id="TMemoryStream.LoadFromStream"/>
  4810. </seealso>
  4811. </element>
  4812. <element name="TMemoryStream.SetSize"> <!-- Procedure -->
  4813. <short>Sets the size for the memory stream.</short>
  4814. <descr>
  4815. <var>SetSize</var> sets the size of the memory stream to <var>NewSize</var>.
  4816. This will set the capacity of the stream to <var>NewSize</var> and correct
  4817. the current position in the stream when needed.
  4818. </descr>
  4819. <seealso>
  4820. <link id="TStream.Position"/>
  4821. <link id="TStream.Size"/>
  4822. </seealso>
  4823. </element>
  4824. <element name="TMemoryStream.Write"> <!-- Function -->
  4825. <short>Writes data to the stream's memory.</short>
  4826. <descr>
  4827. <p>
  4828. <var>Write</var> writes <var>Count</var> bytes from <var>Buffer</var>
  4829. to the stream's memory, starting at the current position in the stream.
  4830. If more memory is needed than currently allocated, more memory will be
  4831. allocated. Any contents in the memory stream at the current position will be
  4832. overwritten. The function returns the number of bytes actually written
  4833. (which should under normal circumstances always equal <var>Count</var>).
  4834. </p>
  4835. <p>
  4836. This method overrides the abstract <link id="TStream.Write"/> method.
  4837. </p>
  4838. </descr>
  4839. <errors>
  4840. If no more memory could be allocated, then an exception will be raised.
  4841. </errors>
  4842. <seealso>
  4843. <link id="TCustomMemoryStream.Read"/>
  4844. </seealso>
  4845. </element>
  4846. <!--
  4847. *********************************************************************
  4848. TStringStream
  4849. *********************************************************************
  4850. -->
  4851. <element name="TStringStream"> <!-- Class -->
  4852. <short>Stream that stores its data in a string.</short>
  4853. <descr>
  4854. <p>
  4855. <var>TStringStream</var> stores its data in an ansistring. The contents of
  4856. this string is available as the
  4857. <link id="TStringStream.DataString">DataString</link> property. It also
  4858. introduces some methods to read or write parts of the stringstream's data
  4859. as a string.
  4860. </p>
  4861. <p>The main purpose of a <var>TStringSTream</var> is to be able to treat a
  4862. string as a stream from which can be read.
  4863. </p>
  4864. </descr>
  4865. <seealso>
  4866. <link id="TStream"/>
  4867. <link id="TStringStream.DataString"/>
  4868. <link id="TStringStream.ReadString"/>
  4869. <link id="TStringStream.WriteString"/>
  4870. </seealso>
  4871. </element>
  4872. <element name="TStringStream.SetSize"> <!-- Procedure -->
  4873. <short>Sets the size of the stream.</short>
  4874. <descr>
  4875. <var>SetSize</var> sets the size of the stream to <var>newsize</var>.
  4876. It does this by setting the size of the ansisting in which the stream
  4877. is stored. <var>NewSize</var> can have any value greater than or equal to
  4878. zero.
  4879. </descr>
  4880. <errors>
  4881. In case there is not enough memory, an exception may be raised.
  4882. </errors>
  4883. <seealso>
  4884. <link id="TStream.Size"/>
  4885. </seealso>
  4886. </element>
  4887. <element name="TStringStream.Create"> <!-- Constructor -->
  4888. <short>Creates a new stringstream and sets its initial content.</short>
  4889. <descr>
  4890. <var>Create</var> creates a new <var>TStringStream</var> instance and
  4891. sets its initial content to <var>Astring</var>. The position is still 0 but
  4892. the size of the stream will equal the length of the string.
  4893. </descr>
  4894. <seealso>
  4895. <link id="TStringStream.DataString"/>
  4896. </seealso>
  4897. </element>
  4898. <element name="TStringStream.Read"> <!-- Function -->
  4899. <short>Reads from the stream.</short>
  4900. <descr>
  4901. <var>Read</var> implements the abstract <link id="TStream.Read">Read</link>
  4902. from <link id="TStream"/>. It tries to read <var>Count</var> bytes into
  4903. <var>Buffer</var>. It returns the number of bytes actually read. The
  4904. position of the stream is advanced with the number of bytes actually read;
  4905. When the reading has reached the end of the <link
  4906. id="TStringSTream.DataString">DataString</link>, then the reading stops,
  4907. i.e. it is not possible to read beyond the end of the datastring.
  4908. </descr>
  4909. <seealso>
  4910. <link id="TStream.Read"/>
  4911. <link id="TStringStream.Write"/>
  4912. <link id="TStringStream.DataString"/>
  4913. </seealso>
  4914. </element>
  4915. <element name="TStringStream.ReadString"> <!-- Function -->
  4916. <short>Reads a string of length <var>Count</var></short>
  4917. <descr>
  4918. <p>
  4919. <var>ReadString<var> reads <var>Count</var> bytes from the stream and
  4920. returns the read bytes as a string. If less than <var>Count</var> bytes
  4921. were available, the string has as many characters as bytes could be read.
  4922. </p>
  4923. <p>The <var>ReadString</var> method is a wrapper around the <link
  4924. id="TStringStream.Read">Read</link> method. It does not do the same stringas
  4925. the <link id="TStream.ReadAnsiString"/> method, which first reads a length
  4926. integer to determine the length of the string to be read.
  4927. </descr>
  4928. <seealso>
  4929. <link id="TStringStream.Read"/>
  4930. <link id="TStream.ReadAnsiString"/>
  4931. </seealso>
  4932. </element>
  4933. <element name="TStringStream.Seek"> <!-- Function -->
  4934. <short>Sets the position in the stream.</short>
  4935. <descr>
  4936. <var>Seek</var> implements the abstract <link id="TStream.Seek">Seek</link>
  4937. method.
  4938. </descr>
  4939. <seealso>
  4940. </seealso>
  4941. </element>
  4942. <element name="TStringStream.Write"> <!-- Function -->
  4943. <short></short>
  4944. <descr>
  4945. </descr>
  4946. <seealso>
  4947. </seealso>
  4948. </element>
  4949. <element name="TStringStream.WriteString"> <!-- Procedure -->
  4950. <short></short>
  4951. <descr>
  4952. </descr>
  4953. <seealso>
  4954. </seealso>
  4955. </element>
  4956. <element name="TStringStream.DataString"> <!-- Property -->
  4957. <short></short>
  4958. <descr>
  4959. </descr>
  4960. <seealso>
  4961. </seealso>
  4962. </element>
  4963. <!--
  4964. *********************************************************************
  4965. TResourceStream
  4966. *********************************************************************
  4967. -->
  4968. <element name="TResourceStream"> <!-- Class -->
  4969. <short>Stream that reads its data from a resource object.</short>
  4970. <descr>
  4971. </descr>
  4972. <seealso>
  4973. </seealso>
  4974. </element>
  4975. <element name="TResourceStream.Initialize"> <!-- Procedure -->
  4976. <short></short>
  4977. <descr>
  4978. </descr>
  4979. <seealso>
  4980. </seealso>
  4981. </element>
  4982. <element name="TResourceStream.Create"> <!-- Constructor -->
  4983. <short></short>
  4984. <descr>
  4985. </descr>
  4986. <seealso>
  4987. </seealso>
  4988. </element>
  4989. <element name="TResourceStream.CreateFromID"> <!-- Constructor -->
  4990. <short></short>
  4991. <descr>
  4992. </descr>
  4993. <seealso>
  4994. </seealso>
  4995. </element>
  4996. <element name="TResourceStream.Destroy"> <!-- Destructor -->
  4997. <short></short>
  4998. <descr>
  4999. </descr>
  5000. <seealso>
  5001. </seealso>
  5002. </element>
  5003. <element name="TResourceStream.Write"> <!-- Function -->
  5004. <short></short>
  5005. <descr>
  5006. </descr>
  5007. <seealso>
  5008. </seealso>
  5009. </element>
  5010. <element name="TValueType"> <!-- Enumeration type -->
  5011. <short></short>
  5012. <descr>
  5013. </descr>
  5014. <seealso>
  5015. </seealso>
  5016. </element>
  5017. <element name="TValueType.vaNull"> <!-- Enumeration value -->
  5018. <short></short>
  5019. </element>
  5020. <element name="TValueType.vaList"> <!-- Enumeration value -->
  5021. <short></short>
  5022. </element>
  5023. <element name="TValueType.vaInt8"> <!-- Enumeration value -->
  5024. <short></short>
  5025. </element>
  5026. <element name="TValueType.vaInt16"> <!-- Enumeration value -->
  5027. <short></short>
  5028. </element>
  5029. <element name="TValueType.vaInt32"> <!-- Enumeration value -->
  5030. <short></short>
  5031. </element>
  5032. <element name="TValueType.vaExtended"> <!-- Enumeration value -->
  5033. <short></short>
  5034. </element>
  5035. <element name="TValueType.vaString"> <!-- Enumeration value -->
  5036. <short></short>
  5037. </element>
  5038. <element name="TValueType.vaIdent"> <!-- Enumeration value -->
  5039. <short></short>
  5040. </element>
  5041. <element name="TValueType.vaFalse"> <!-- Enumeration value -->
  5042. <short></short>
  5043. </element>
  5044. <element name="TValueType.vaTrue"> <!-- Enumeration value -->
  5045. <short></short>
  5046. </element>
  5047. <element name="TValueType.vaBinary"> <!-- Enumeration value -->
  5048. <short></short>
  5049. </element>
  5050. <element name="TValueType.vaSet"> <!-- Enumeration value -->
  5051. <short></short>
  5052. </element>
  5053. <element name="TValueType.vaLString"> <!-- Enumeration value -->
  5054. <short></short>
  5055. </element>
  5056. <element name="TValueType.vaNil"> <!-- Enumeration value -->
  5057. <short></short>
  5058. </element>
  5059. <element name="TValueType.vaCollection"> <!-- Enumeration value -->
  5060. <short></short>
  5061. </element>
  5062. <element name="TValueType.vaSingle"> <!-- Enumeration value -->
  5063. <short></short>
  5064. <descr>
  5065. </descr>
  5066. <seealso>
  5067. </seealso>
  5068. </element>
  5069. <element name="TValueType.vaCurrency"> <!-- Enumeration value -->
  5070. <short></short>
  5071. <descr>
  5072. </descr>
  5073. <seealso>
  5074. </seealso>
  5075. </element>
  5076. <element name="TValueType.vaDate"> <!-- Enumeration value -->
  5077. <short></short>
  5078. <descr>
  5079. </descr>
  5080. <seealso>
  5081. </seealso>
  5082. </element>
  5083. <element name="TValueType.vaWString"> <!-- Enumeration value -->
  5084. <short></short>
  5085. <descr>
  5086. </descr>
  5087. <seealso>
  5088. </seealso>
  5089. </element>
  5090. <element name="TValueType.vaInt64"> <!-- Enumeration value -->
  5091. <short></short>
  5092. <descr>
  5093. </descr>
  5094. <seealso>
  5095. </seealso>
  5096. </element>
  5097. <element name="TFilerFlag"> <!-- Enumeration type -->
  5098. <short></short>
  5099. <descr>
  5100. </descr>
  5101. <seealso>
  5102. </seealso>
  5103. </element>
  5104. <element name="TFilerFlag.ffInherited"> <!-- Enumeration value -->
  5105. <short></short>
  5106. <descr>
  5107. </descr>
  5108. <seealso>
  5109. </seealso>
  5110. </element>
  5111. <element name="TFilerFlag.ffChildPos"> <!-- Enumeration value -->
  5112. <short></short>
  5113. <descr>
  5114. </descr>
  5115. <seealso>
  5116. </seealso>
  5117. </element>
  5118. <element name="TFilerFlag.ffInline"> <!-- Enumeration value -->
  5119. <short></short>
  5120. <descr>
  5121. </descr>
  5122. <seealso>
  5123. </seealso>
  5124. </element>
  5125. <element name="TFilerFlags"> <!-- Set type -->
  5126. <short></short>
  5127. <descr>
  5128. </descr>
  5129. <seealso>
  5130. </seealso>
  5131. </element>
  5132. <element name="TReaderProc"> <!-- Procedure type -->
  5133. <short></short>
  5134. <descr>
  5135. </descr>
  5136. <seealso>
  5137. </seealso>
  5138. </element>
  5139. <element name="TWriterProc"> <!-- Procedure type -->
  5140. <short></short>
  5141. <descr>
  5142. </descr>
  5143. <seealso>
  5144. </seealso>
  5145. </element>
  5146. <element name="TStreamProc"> <!-- Procedure type -->
  5147. <short></short>
  5148. <descr>
  5149. </descr>
  5150. <seealso>
  5151. </seealso>
  5152. </element>
  5153. <!--
  5154. *********************************************************************
  5155. TFiler
  5156. *********************************************************************
  5157. -->
  5158. <element name="TFiler"> <!-- Class -->
  5159. <short>Class responsible for streaming of components.</short>
  5160. <descr>
  5161. </descr>
  5162. <seealso>
  5163. </seealso>
  5164. </element>
  5165. <element name="TFiler.FRoot"> <!-- Variable -->
  5166. <short></short>
  5167. <descr>
  5168. </descr>
  5169. <seealso>
  5170. </seealso>
  5171. </element>
  5172. <element name="TFiler.FLookupRoot"> <!-- Variable -->
  5173. <short></short>
  5174. <descr>
  5175. </descr>
  5176. <seealso>
  5177. </seealso>
  5178. </element>
  5179. <element name="TFiler.FAncestor"> <!-- Variable -->
  5180. <short></short>
  5181. <descr>
  5182. </descr>
  5183. <seealso>
  5184. </seealso>
  5185. </element>
  5186. <element name="TFiler.FIgnoreChildren"> <!-- Variable -->
  5187. <short></short>
  5188. <descr>
  5189. </descr>
  5190. <seealso>
  5191. </seealso>
  5192. </element>
  5193. <element name="TFiler.SetRoot"> <!-- Procedure -->
  5194. <short></short>
  5195. <descr>
  5196. </descr>
  5197. <seealso>
  5198. </seealso>
  5199. </element>
  5200. <element name="TFiler.DefineProperty"> <!-- Procedure -->
  5201. <short></short>
  5202. <descr>
  5203. </descr>
  5204. <seealso>
  5205. </seealso>
  5206. </element>
  5207. <element name="TFiler.DefineBinaryProperty"> <!-- Procedure -->
  5208. <short></short>
  5209. <descr>
  5210. </descr>
  5211. <seealso>
  5212. </seealso>
  5213. </element>
  5214. <element name="TFiler.Root"> <!-- Property -->
  5215. <short></short>
  5216. <descr>
  5217. </descr>
  5218. <seealso>
  5219. </seealso>
  5220. </element>
  5221. <element name="TFiler.LookupRoot"> <!-- Property -->
  5222. <short></short>
  5223. <descr>
  5224. </descr>
  5225. <seealso>
  5226. </seealso>
  5227. </element>
  5228. <element name="TFiler.Ancestor"> <!-- Property -->
  5229. <short></short>
  5230. <descr>
  5231. </descr>
  5232. <seealso>
  5233. </seealso>
  5234. </element>
  5235. <element name="TFiler.IgnoreChildren"> <!-- Property -->
  5236. <short></short>
  5237. <descr>
  5238. </descr>
  5239. <seealso>
  5240. </seealso>
  5241. </element>
  5242. <element name="TComponentClass"> <!-- "class of" type -->
  5243. <short></short>
  5244. <descr>
  5245. </descr>
  5246. <seealso>
  5247. </seealso>
  5248. </element>
  5249. <!--
  5250. *********************************************************************
  5251. TAbstractObjectReader
  5252. *********************************************************************
  5253. -->
  5254. <element name="TAbstractObjectReader"> <!-- Class -->
  5255. <short>Abstract driver class to read stored component data.</short>
  5256. <descr>
  5257. </descr>
  5258. <seealso>
  5259. </seealso>
  5260. </element>
  5261. <element name="TAbstractObjectReader.NextValue"> <!-- Function -->
  5262. <short></short>
  5263. <descr>
  5264. </descr>
  5265. <seealso>
  5266. </seealso>
  5267. </element>
  5268. <element name="TAbstractObjectReader.ReadValue"> <!-- Function -->
  5269. <short></short>
  5270. <descr>
  5271. </descr>
  5272. <seealso>
  5273. </seealso>
  5274. </element>
  5275. <element name="TAbstractObjectReader.BeginRootComponent"> <!-- Procedure -->
  5276. <short></short>
  5277. <descr>
  5278. </descr>
  5279. <seealso>
  5280. </seealso>
  5281. </element>
  5282. <element name="TAbstractObjectReader.BeginComponent"> <!-- Procedure -->
  5283. <short></short>
  5284. <descr>
  5285. </descr>
  5286. <seealso>
  5287. </seealso>
  5288. </element>
  5289. <element name="TAbstractObjectReader.BeginProperty"> <!-- Function -->
  5290. <short></short>
  5291. <descr>
  5292. </descr>
  5293. <seealso>
  5294. </seealso>
  5295. </element>
  5296. <element name="TAbstractObjectReader.ReadBinary"> <!-- Procedure -->
  5297. <short></short>
  5298. <descr>
  5299. </descr>
  5300. <seealso>
  5301. </seealso>
  5302. </element>
  5303. <element name="TAbstractObjectReader.ReadFloat"> <!-- Function -->
  5304. <short></short>
  5305. <descr>
  5306. </descr>
  5307. <seealso>
  5308. </seealso>
  5309. </element>
  5310. <element name="TAbstractObjectReader.ReadSingle"> <!-- Function -->
  5311. <short></short>
  5312. <descr>
  5313. </descr>
  5314. <seealso>
  5315. </seealso>
  5316. </element>
  5317. <element name="TAbstractObjectReader.ReadDate"> <!-- Function -->
  5318. <short></short>
  5319. <descr>
  5320. </descr>
  5321. <seealso>
  5322. </seealso>
  5323. </element>
  5324. <element name="TAbstractObjectReader.ReadIdent"> <!-- Function -->
  5325. <short></short>
  5326. <descr>
  5327. </descr>
  5328. <seealso>
  5329. </seealso>
  5330. </element>
  5331. <element name="TAbstractObjectReader.ReadInt8"> <!-- Function -->
  5332. <short></short>
  5333. <descr>
  5334. </descr>
  5335. <seealso>
  5336. </seealso>
  5337. </element>
  5338. <element name="TAbstractObjectReader.ReadInt16"> <!-- Function -->
  5339. <short></short>
  5340. <descr>
  5341. </descr>
  5342. <seealso>
  5343. </seealso>
  5344. </element>
  5345. <element name="TAbstractObjectReader.ReadInt32"> <!-- Function -->
  5346. <short></short>
  5347. <descr>
  5348. </descr>
  5349. <seealso>
  5350. </seealso>
  5351. </element>
  5352. <element name="TAbstractObjectReader.ReadInt64"> <!-- Function -->
  5353. <short></short>
  5354. <descr>
  5355. </descr>
  5356. <seealso>
  5357. </seealso>
  5358. </element>
  5359. <element name="TAbstractObjectReader.ReadSet"> <!-- Function -->
  5360. <short></short>
  5361. <descr>
  5362. </descr>
  5363. <seealso>
  5364. </seealso>
  5365. </element>
  5366. <element name="TAbstractObjectReader.ReadStr"> <!-- Function -->
  5367. <short></short>
  5368. <descr>
  5369. </descr>
  5370. <seealso>
  5371. </seealso>
  5372. </element>
  5373. <element name="TAbstractObjectReader.ReadString"> <!-- Function -->
  5374. <short></short>
  5375. <descr>
  5376. </descr>
  5377. <seealso>
  5378. </seealso>
  5379. </element>
  5380. <element name="TAbstractObjectReader.SkipComponent"> <!-- Procedure -->
  5381. <short></short>
  5382. <descr>
  5383. </descr>
  5384. <seealso>
  5385. </seealso>
  5386. </element>
  5387. <element name="TAbstractObjectReader.SkipValue"> <!-- Procedure -->
  5388. <short></short>
  5389. <descr>
  5390. </descr>
  5391. <seealso>
  5392. </seealso>
  5393. </element>
  5394. <!--
  5395. *********************************************************************
  5396. TBinaryObjectReader
  5397. *********************************************************************
  5398. -->
  5399. <element name="TBinaryObjectReader"> <!-- Class -->
  5400. <short>Driver class which reads component data stored in binary format.</short>
  5401. <descr>
  5402. </descr>
  5403. <seealso>
  5404. </seealso>
  5405. </element>
  5406. <element name="TBinaryObjectReader.FStream"> <!-- Variable -->
  5407. <short></short>
  5408. <descr>
  5409. </descr>
  5410. <seealso>
  5411. </seealso>
  5412. </element>
  5413. <element name="TBinaryObjectReader.FBuffer"> <!-- Variable -->
  5414. <short></short>
  5415. <descr>
  5416. </descr>
  5417. <seealso>
  5418. </seealso>
  5419. </element>
  5420. <element name="TBinaryObjectReader.FBufSize"> <!-- Variable -->
  5421. <short></short>
  5422. <descr>
  5423. </descr>
  5424. <seealso>
  5425. </seealso>
  5426. </element>
  5427. <element name="TBinaryObjectReader.FBufPos"> <!-- Variable -->
  5428. <short></short>
  5429. <descr>
  5430. </descr>
  5431. <seealso>
  5432. </seealso>
  5433. </element>
  5434. <element name="TBinaryObjectReader.FBufEnd"> <!-- Variable -->
  5435. <short></short>
  5436. <descr>
  5437. </descr>
  5438. <seealso>
  5439. </seealso>
  5440. </element>
  5441. <element name="TBinaryObjectReader.Read"> <!-- Procedure -->
  5442. <short></short>
  5443. <descr>
  5444. </descr>
  5445. <seealso>
  5446. </seealso>
  5447. </element>
  5448. <element name="TBinaryObjectReader.SkipProperty"> <!-- Procedure -->
  5449. <short></short>
  5450. <descr>
  5451. </descr>
  5452. <seealso>
  5453. </seealso>
  5454. </element>
  5455. <element name="TBinaryObjectReader.SkipSetBody"> <!-- Procedure -->
  5456. <short></short>
  5457. <descr>
  5458. </descr>
  5459. <seealso>
  5460. </seealso>
  5461. </element>
  5462. <element name="TBinaryObjectReader.Create"> <!-- Constructor -->
  5463. <short></short>
  5464. <descr>
  5465. </descr>
  5466. <seealso>
  5467. </seealso>
  5468. </element>
  5469. <element name="TBinaryObjectReader.Destroy"> <!-- Destructor -->
  5470. <short></short>
  5471. <descr>
  5472. </descr>
  5473. <seealso>
  5474. </seealso>
  5475. </element>
  5476. <element name="TBinaryObjectReader.NextValue"> <!-- Function -->
  5477. <short></short>
  5478. <descr>
  5479. </descr>
  5480. <seealso>
  5481. </seealso>
  5482. </element>
  5483. <element name="TBinaryObjectReader.ReadValue"> <!-- Function -->
  5484. <short></short>
  5485. <descr>
  5486. </descr>
  5487. <seealso>
  5488. </seealso>
  5489. </element>
  5490. <element name="TBinaryObjectReader.BeginRootComponent"> <!-- Procedure -->
  5491. <short></short>
  5492. <descr>
  5493. </descr>
  5494. <seealso>
  5495. </seealso>
  5496. </element>
  5497. <element name="TBinaryObjectReader.BeginComponent"> <!-- Procedure -->
  5498. <short></short>
  5499. <descr>
  5500. </descr>
  5501. <seealso>
  5502. </seealso>
  5503. </element>
  5504. <element name="TBinaryObjectReader.BeginProperty"> <!-- Function -->
  5505. <short></short>
  5506. <descr>
  5507. </descr>
  5508. <seealso>
  5509. </seealso>
  5510. </element>
  5511. <element name="TBinaryObjectReader.ReadBinary"> <!-- Procedure -->
  5512. <short></short>
  5513. <descr>
  5514. </descr>
  5515. <seealso>
  5516. </seealso>
  5517. </element>
  5518. <element name="TBinaryObjectReader.ReadFloat"> <!-- Function -->
  5519. <short></short>
  5520. <descr>
  5521. </descr>
  5522. <seealso>
  5523. </seealso>
  5524. </element>
  5525. <element name="TBinaryObjectReader.ReadSingle"> <!-- Function -->
  5526. <short></short>
  5527. <descr>
  5528. </descr>
  5529. <seealso>
  5530. </seealso>
  5531. </element>
  5532. <element name="TBinaryObjectReader.ReadDate"> <!-- Function -->
  5533. <short></short>
  5534. <descr>
  5535. </descr>
  5536. <seealso>
  5537. </seealso>
  5538. </element>
  5539. <element name="TBinaryObjectReader.ReadIdent"> <!-- Function -->
  5540. <short></short>
  5541. <descr>
  5542. </descr>
  5543. <seealso>
  5544. </seealso>
  5545. </element>
  5546. <element name="TBinaryObjectReader.ReadInt8"> <!-- Function -->
  5547. <short></short>
  5548. <descr>
  5549. </descr>
  5550. <seealso>
  5551. </seealso>
  5552. </element>
  5553. <element name="TBinaryObjectReader.ReadInt16"> <!-- Function -->
  5554. <short></short>
  5555. <descr>
  5556. </descr>
  5557. <seealso>
  5558. </seealso>
  5559. </element>
  5560. <element name="TBinaryObjectReader.ReadInt32"> <!-- Function -->
  5561. <short></short>
  5562. <descr>
  5563. </descr>
  5564. <seealso>
  5565. </seealso>
  5566. </element>
  5567. <element name="TBinaryObjectReader.ReadInt64"> <!-- Function -->
  5568. <short></short>
  5569. <descr>
  5570. </descr>
  5571. <seealso>
  5572. </seealso>
  5573. </element>
  5574. <element name="TBinaryObjectReader.ReadSet"> <!-- Function -->
  5575. <short></short>
  5576. <descr>
  5577. </descr>
  5578. <seealso>
  5579. </seealso>
  5580. </element>
  5581. <element name="TBinaryObjectReader.ReadStr"> <!-- Function -->
  5582. <short></short>
  5583. <descr>
  5584. </descr>
  5585. <seealso>
  5586. </seealso>
  5587. </element>
  5588. <element name="TBinaryObjectReader.ReadString"> <!-- Function -->
  5589. <short></short>
  5590. <descr>
  5591. </descr>
  5592. <seealso>
  5593. </seealso>
  5594. </element>
  5595. <element name="TBinaryObjectReader.SkipComponent"> <!-- Procedure -->
  5596. <short></short>
  5597. <descr>
  5598. </descr>
  5599. <seealso>
  5600. </seealso>
  5601. </element>
  5602. <element name="TBinaryObjectReader.SkipValue"> <!-- Procedure -->
  5603. <short></short>
  5604. <descr>
  5605. </descr>
  5606. <seealso>
  5607. </seealso>
  5608. </element>
  5609. <element name="TFindMethodEvent"> <!-- Procedure type -->
  5610. <short></short>
  5611. <descr>
  5612. </descr>
  5613. <seealso>
  5614. </seealso>
  5615. </element>
  5616. <element name="TSetNameEvent"> <!-- Procedure type -->
  5617. <short></short>
  5618. <descr>
  5619. </descr>
  5620. <seealso>
  5621. </seealso>
  5622. </element>
  5623. <element name="TReferenceNameEvent"> <!-- Procedure type -->
  5624. <short></short>
  5625. <descr>
  5626. </descr>
  5627. <seealso>
  5628. </seealso>
  5629. </element>
  5630. <element name="TAncestorNotFoundEvent"> <!-- Procedure type -->
  5631. <short></short>
  5632. <descr>
  5633. </descr>
  5634. <seealso>
  5635. </seealso>
  5636. </element>
  5637. <element name="TReadComponentsProc"> <!-- Procedure type -->
  5638. <short></short>
  5639. <descr>
  5640. </descr>
  5641. <seealso>
  5642. </seealso>
  5643. </element>
  5644. <element name="TReaderError"> <!-- Procedure type -->
  5645. <short></short>
  5646. <descr>
  5647. </descr>
  5648. <seealso>
  5649. </seealso>
  5650. </element>
  5651. <element name="TFindComponentClassEvent"> <!-- Procedure type -->
  5652. <short></short>
  5653. <descr>
  5654. </descr>
  5655. <seealso>
  5656. </seealso>
  5657. </element>
  5658. <element name="TCreateComponentEvent"> <!-- Procedure type -->
  5659. <short></short>
  5660. <descr>
  5661. </descr>
  5662. <seealso>
  5663. </seealso>
  5664. </element>
  5665. <!--
  5666. *********************************************************************
  5667. TReader
  5668. *********************************************************************
  5669. -->
  5670. <element name="TReader"> <!-- Class -->
  5671. <short>Generic reader object which reads component data from any given source.</short>
  5672. <descr>
  5673. </descr>
  5674. <seealso>
  5675. </seealso>
  5676. </element>
  5677. <element name="TReader.FDriver"> <!-- Variable -->
  5678. <short></short>
  5679. <descr>
  5680. </descr>
  5681. <seealso>
  5682. </seealso>
  5683. </element>
  5684. <element name="TReader.FOwner"> <!-- Variable -->
  5685. <short></short>
  5686. <descr>
  5687. </descr>
  5688. <seealso>
  5689. </seealso>
  5690. </element>
  5691. <element name="TReader.FParent"> <!-- Variable -->
  5692. <short></short>
  5693. <descr>
  5694. </descr>
  5695. <seealso>
  5696. </seealso>
  5697. </element>
  5698. <element name="TReader.FFixups"> <!-- Variable -->
  5699. <short></short>
  5700. <descr>
  5701. </descr>
  5702. <seealso>
  5703. </seealso>
  5704. </element>
  5705. <element name="TReader.FLoaded"> <!-- Variable -->
  5706. <short></short>
  5707. <descr>
  5708. </descr>
  5709. <seealso>
  5710. </seealso>
  5711. </element>
  5712. <element name="TReader.FOnFindMethod"> <!-- Variable -->
  5713. <short></short>
  5714. <descr>
  5715. </descr>
  5716. <seealso>
  5717. </seealso>
  5718. </element>
  5719. <element name="TReader.FOnSetName"> <!-- Variable -->
  5720. <short></short>
  5721. <descr>
  5722. </descr>
  5723. <seealso>
  5724. </seealso>
  5725. </element>
  5726. <element name="TReader.FOnReferenceName"> <!-- Variable -->
  5727. <short></short>
  5728. <descr>
  5729. </descr>
  5730. <seealso>
  5731. </seealso>
  5732. </element>
  5733. <element name="TReader.FOnAncestorNotFound"> <!-- Variable -->
  5734. <short></short>
  5735. <descr>
  5736. </descr>
  5737. <seealso>
  5738. </seealso>
  5739. </element>
  5740. <element name="TReader.FOnError"> <!-- Variable -->
  5741. <short></short>
  5742. <descr>
  5743. </descr>
  5744. <seealso>
  5745. </seealso>
  5746. </element>
  5747. <element name="TReader.FOnFindComponentClass"> <!-- Variable -->
  5748. <short></short>
  5749. <descr>
  5750. </descr>
  5751. <seealso>
  5752. </seealso>
  5753. </element>
  5754. <element name="TReader.FOnCreateComponent"> <!-- Variable -->
  5755. <short></short>
  5756. <descr>
  5757. </descr>
  5758. <seealso>
  5759. </seealso>
  5760. </element>
  5761. <element name="TReader.FPropName"> <!-- Variable -->
  5762. <short></short>
  5763. <descr>
  5764. </descr>
  5765. <seealso>
  5766. </seealso>
  5767. </element>
  5768. <element name="TReader.FCanHandleExcepts"> <!-- Variable -->
  5769. <short></short>
  5770. <descr>
  5771. </descr>
  5772. <seealso>
  5773. </seealso>
  5774. </element>
  5775. <element name="TReader.DoFixupReferences"> <!-- Procedure -->
  5776. <short></short>
  5777. <descr>
  5778. </descr>
  5779. <seealso>
  5780. </seealso>
  5781. </element>
  5782. <element name="TReader.FreeFixups"> <!-- Procedure -->
  5783. <short></short>
  5784. <descr>
  5785. </descr>
  5786. <seealso>
  5787. </seealso>
  5788. </element>
  5789. <element name="TReader.FindComponentClass"> <!-- Function -->
  5790. <short></short>
  5791. <descr>
  5792. </descr>
  5793. <seealso>
  5794. </seealso>
  5795. </element>
  5796. <element name="TReader.Error"> <!-- Function -->
  5797. <short></short>
  5798. <descr>
  5799. </descr>
  5800. <seealso>
  5801. </seealso>
  5802. </element>
  5803. <element name="TReader.FindMethod"> <!-- Function -->
  5804. <short></short>
  5805. <descr>
  5806. </descr>
  5807. <seealso>
  5808. </seealso>
  5809. </element>
  5810. <element name="TReader.ReadProperty"> <!-- Procedure -->
  5811. <short></short>
  5812. <descr>
  5813. </descr>
  5814. <seealso>
  5815. </seealso>
  5816. </element>
  5817. <element name="TReader.ReadPropValue"> <!-- Procedure -->
  5818. <short></short>
  5819. <descr>
  5820. </descr>
  5821. <seealso>
  5822. </seealso>
  5823. </element>
  5824. <element name="TReader.PropertyError"> <!-- Procedure -->
  5825. <short></short>
  5826. <descr>
  5827. </descr>
  5828. <seealso>
  5829. </seealso>
  5830. </element>
  5831. <element name="TReader.ReadData"> <!-- Procedure -->
  5832. <short></short>
  5833. <descr>
  5834. </descr>
  5835. <seealso>
  5836. </seealso>
  5837. </element>
  5838. <element name="TReader.PropName"> <!-- Property -->
  5839. <short></short>
  5840. <descr>
  5841. </descr>
  5842. <seealso>
  5843. </seealso>
  5844. </element>
  5845. <element name="TReader.CanHandleExceptions"> <!-- Property -->
  5846. <short></short>
  5847. <descr>
  5848. </descr>
  5849. <seealso>
  5850. </seealso>
  5851. </element>
  5852. <element name="TReader.Create"> <!-- Constructor -->
  5853. <short></short>
  5854. <descr>
  5855. </descr>
  5856. <seealso>
  5857. </seealso>
  5858. </element>
  5859. <element name="TReader.Destroy"> <!-- Destructor -->
  5860. <short></short>
  5861. <descr>
  5862. </descr>
  5863. <seealso>
  5864. </seealso>
  5865. </element>
  5866. <element name="TReader.BeginReferences"> <!-- Procedure -->
  5867. <short></short>
  5868. <descr>
  5869. </descr>
  5870. <seealso>
  5871. </seealso>
  5872. </element>
  5873. <element name="TReader.CheckValue"> <!-- Procedure -->
  5874. <short></short>
  5875. <descr>
  5876. </descr>
  5877. <seealso>
  5878. </seealso>
  5879. </element>
  5880. <element name="TReader.DefineProperty"> <!-- Procedure -->
  5881. <short></short>
  5882. <descr>
  5883. </descr>
  5884. <seealso>
  5885. </seealso>
  5886. </element>
  5887. <element name="TReader.DefineBinaryProperty"> <!-- Procedure -->
  5888. <short></short>
  5889. <descr>
  5890. </descr>
  5891. <seealso>
  5892. </seealso>
  5893. </element>
  5894. <element name="TReader.EndOfList"> <!-- Function -->
  5895. <short></short>
  5896. <descr>
  5897. </descr>
  5898. <seealso>
  5899. </seealso>
  5900. </element>
  5901. <element name="TReader.EndReferences"> <!-- Procedure -->
  5902. <short></short>
  5903. <descr>
  5904. </descr>
  5905. <seealso>
  5906. </seealso>
  5907. </element>
  5908. <element name="TReader.FixupReferences"> <!-- Procedure -->
  5909. <short></short>
  5910. <descr>
  5911. </descr>
  5912. <seealso>
  5913. </seealso>
  5914. </element>
  5915. <element name="TReader.NextValue"> <!-- Function -->
  5916. <short></short>
  5917. <descr>
  5918. </descr>
  5919. <seealso>
  5920. </seealso>
  5921. </element>
  5922. <element name="TReader.ReadBoolean"> <!-- Function -->
  5923. <short></short>
  5924. <descr>
  5925. </descr>
  5926. <seealso>
  5927. </seealso>
  5928. </element>
  5929. <element name="TReader.ReadChar"> <!-- Function -->
  5930. <short></short>
  5931. <descr>
  5932. </descr>
  5933. <seealso>
  5934. </seealso>
  5935. </element>
  5936. <element name="TReader.ReadCollection"> <!-- Procedure -->
  5937. <short></short>
  5938. <descr>
  5939. </descr>
  5940. <seealso>
  5941. </seealso>
  5942. </element>
  5943. <element name="TReader.ReadComponent"> <!-- Function -->
  5944. <short></short>
  5945. <descr>
  5946. </descr>
  5947. <seealso>
  5948. </seealso>
  5949. </element>
  5950. <element name="TReader.ReadComponents"> <!-- Procedure -->
  5951. <short></short>
  5952. <descr>
  5953. </descr>
  5954. <seealso>
  5955. </seealso>
  5956. </element>
  5957. <element name="TReader.ReadFloat"> <!-- Function -->
  5958. <short></short>
  5959. <descr>
  5960. </descr>
  5961. <seealso>
  5962. </seealso>
  5963. </element>
  5964. <element name="TReader.ReadSingle"> <!-- Function -->
  5965. <short></short>
  5966. <descr>
  5967. </descr>
  5968. <seealso>
  5969. </seealso>
  5970. </element>
  5971. <element name="TReader.ReadDate"> <!-- Function -->
  5972. <short></short>
  5973. <descr>
  5974. </descr>
  5975. <seealso>
  5976. </seealso>
  5977. </element>
  5978. <element name="TReader.ReadIdent"> <!-- Function -->
  5979. <short></short>
  5980. <descr>
  5981. </descr>
  5982. <seealso>
  5983. </seealso>
  5984. </element>
  5985. <element name="TReader.ReadInteger"> <!-- Function -->
  5986. <short></short>
  5987. <descr>
  5988. </descr>
  5989. <seealso>
  5990. </seealso>
  5991. </element>
  5992. <element name="TReader.ReadInt64"> <!-- Function -->
  5993. <short></short>
  5994. <descr>
  5995. </descr>
  5996. <seealso>
  5997. </seealso>
  5998. </element>
  5999. <element name="TReader.ReadListBegin"> <!-- Procedure -->
  6000. <short></short>
  6001. <descr>
  6002. </descr>
  6003. <seealso>
  6004. </seealso>
  6005. </element>
  6006. <element name="TReader.ReadListEnd"> <!-- Procedure -->
  6007. <short></short>
  6008. <descr>
  6009. </descr>
  6010. <seealso>
  6011. </seealso>
  6012. </element>
  6013. <element name="TReader.ReadRootComponent"> <!-- Function -->
  6014. <short></short>
  6015. <descr>
  6016. </descr>
  6017. <seealso>
  6018. </seealso>
  6019. </element>
  6020. <element name="TReader.ReadString"> <!-- Function -->
  6021. <short></short>
  6022. <descr>
  6023. </descr>
  6024. <seealso>
  6025. </seealso>
  6026. </element>
  6027. <element name="TReader.ReadValue"> <!-- Function -->
  6028. <short></short>
  6029. <descr>
  6030. </descr>
  6031. <seealso>
  6032. </seealso>
  6033. </element>
  6034. <element name="TReader.CopyValue"> <!-- Procedure -->
  6035. <short></short>
  6036. <descr>
  6037. </descr>
  6038. <seealso>
  6039. </seealso>
  6040. </element>
  6041. <element name="TReader.Owner"> <!-- Property -->
  6042. <short></short>
  6043. <descr>
  6044. </descr>
  6045. <seealso>
  6046. </seealso>
  6047. </element>
  6048. <element name="TReader.Parent"> <!-- Property -->
  6049. <short></short>
  6050. <descr>
  6051. </descr>
  6052. <seealso>
  6053. </seealso>
  6054. </element>
  6055. <element name="TReader.OnError"> <!-- Property -->
  6056. <short></short>
  6057. <descr>
  6058. </descr>
  6059. <seealso>
  6060. </seealso>
  6061. </element>
  6062. <element name="TReader.OnFindMethod"> <!-- Property -->
  6063. <short></short>
  6064. <descr>
  6065. </descr>
  6066. <seealso>
  6067. </seealso>
  6068. </element>
  6069. <element name="TReader.OnSetName"> <!-- Property -->
  6070. <short></short>
  6071. <descr>
  6072. </descr>
  6073. <seealso>
  6074. </seealso>
  6075. </element>
  6076. <element name="TReader.OnReferenceName"> <!-- Property -->
  6077. <short></short>
  6078. <descr>
  6079. </descr>
  6080. <seealso>
  6081. </seealso>
  6082. </element>
  6083. <element name="TReader.OnAncestorNotFound"> <!-- Property -->
  6084. <short></short>
  6085. <descr>
  6086. </descr>
  6087. <seealso>
  6088. </seealso>
  6089. </element>
  6090. <element name="TReader.OnCreateComponent"> <!-- Property -->
  6091. <short></short>
  6092. <descr>
  6093. </descr>
  6094. <seealso>
  6095. </seealso>
  6096. </element>
  6097. <element name="TReader.OnFindComponentClass"> <!-- Property -->
  6098. <short></short>
  6099. <descr>
  6100. </descr>
  6101. <seealso>
  6102. </seealso>
  6103. </element>
  6104. <!--
  6105. *********************************************************************
  6106. TAbstractObjectWriter
  6107. *********************************************************************
  6108. -->
  6109. <element name="TAbstractObjectWriter"> <!-- Class -->
  6110. <short>Abstract driver class for writing component data.</short>
  6111. <descr>
  6112. </descr>
  6113. <seealso>
  6114. </seealso>
  6115. </element>
  6116. <element name="TAbstractObjectWriter.BeginCollection"> <!-- Procedure -->
  6117. <short></short>
  6118. <descr>
  6119. </descr>
  6120. <seealso>
  6121. </seealso>
  6122. </element>
  6123. <element name="TAbstractObjectWriter.BeginComponent"> <!-- Procedure -->
  6124. <short></short>
  6125. <descr>
  6126. </descr>
  6127. <seealso>
  6128. </seealso>
  6129. </element>
  6130. <element name="TAbstractObjectWriter.BeginList"> <!-- Procedure -->
  6131. <short></short>
  6132. <descr>
  6133. </descr>
  6134. <seealso>
  6135. </seealso>
  6136. </element>
  6137. <element name="TAbstractObjectWriter.EndList"> <!-- Procedure -->
  6138. <short></short>
  6139. <descr>
  6140. </descr>
  6141. <seealso>
  6142. </seealso>
  6143. </element>
  6144. <element name="TAbstractObjectWriter.BeginProperty"> <!-- Procedure -->
  6145. <short></short>
  6146. <descr>
  6147. </descr>
  6148. <seealso>
  6149. </seealso>
  6150. </element>
  6151. <element name="TAbstractObjectWriter.EndProperty"> <!-- Procedure -->
  6152. <short></short>
  6153. <descr>
  6154. </descr>
  6155. <seealso>
  6156. </seealso>
  6157. </element>
  6158. <element name="TAbstractObjectWriter.WriteBinary"> <!-- Procedure -->
  6159. <short></short>
  6160. <descr>
  6161. </descr>
  6162. <seealso>
  6163. </seealso>
  6164. </element>
  6165. <element name="TAbstractObjectWriter.WriteBoolean"> <!-- Procedure -->
  6166. <short></short>
  6167. <descr>
  6168. </descr>
  6169. <seealso>
  6170. </seealso>
  6171. </element>
  6172. <element name="TAbstractObjectWriter.WriteFloat"> <!-- Procedure -->
  6173. <short></short>
  6174. <descr>
  6175. </descr>
  6176. <seealso>
  6177. </seealso>
  6178. </element>
  6179. <element name="TAbstractObjectWriter.WriteSingle"> <!-- Procedure -->
  6180. <short></short>
  6181. <descr>
  6182. </descr>
  6183. <seealso>
  6184. </seealso>
  6185. </element>
  6186. <element name="TAbstractObjectWriter.WriteDate"> <!-- Procedure -->
  6187. <short></short>
  6188. <descr>
  6189. </descr>
  6190. <seealso>
  6191. </seealso>
  6192. </element>
  6193. <element name="TAbstractObjectWriter.WriteIdent"> <!-- Procedure -->
  6194. <short></short>
  6195. <descr>
  6196. </descr>
  6197. <seealso>
  6198. </seealso>
  6199. </element>
  6200. <element name="TAbstractObjectWriter.WriteInteger"> <!-- Procedure -->
  6201. <short></short>
  6202. <descr>
  6203. </descr>
  6204. <seealso>
  6205. </seealso>
  6206. </element>
  6207. <element name="TAbstractObjectWriter.WriteMethodName"> <!-- Procedure -->
  6208. <short></short>
  6209. <descr>
  6210. </descr>
  6211. <seealso>
  6212. </seealso>
  6213. </element>
  6214. <element name="TAbstractObjectWriter.WriteSet"> <!-- Procedure -->
  6215. <short></short>
  6216. <descr>
  6217. </descr>
  6218. <seealso>
  6219. </seealso>
  6220. </element>
  6221. <element name="TAbstractObjectWriter.WriteString"> <!-- Procedure -->
  6222. <short></short>
  6223. <descr>
  6224. </descr>
  6225. <seealso>
  6226. </seealso>
  6227. </element>
  6228. <!--
  6229. *********************************************************************
  6230. TBinaryObjectWriter
  6231. *********************************************************************
  6232. -->
  6233. <element name="TBinaryObjectWriter"> <!-- Class -->
  6234. <short>Driver class which stores component data in binary form.</short>
  6235. <descr>
  6236. </descr>
  6237. <seealso>
  6238. </seealso>
  6239. </element>
  6240. <element name="TBinaryObjectWriter.FStream"> <!-- Variable -->
  6241. <short></short>
  6242. <descr>
  6243. </descr>
  6244. <seealso>
  6245. </seealso>
  6246. </element>
  6247. <element name="TBinaryObjectWriter.FBuffer"> <!-- Variable -->
  6248. <short></short>
  6249. <descr>
  6250. </descr>
  6251. <seealso>
  6252. </seealso>
  6253. </element>
  6254. <element name="TBinaryObjectWriter.FBufSize"> <!-- Variable -->
  6255. <short></short>
  6256. <descr>
  6257. </descr>
  6258. <seealso>
  6259. </seealso>
  6260. </element>
  6261. <element name="TBinaryObjectWriter.FBufPos"> <!-- Variable -->
  6262. <short></short>
  6263. <descr>
  6264. </descr>
  6265. <seealso>
  6266. </seealso>
  6267. </element>
  6268. <element name="TBinaryObjectWriter.FBufEnd"> <!-- Variable -->
  6269. <short></short>
  6270. <descr>
  6271. </descr>
  6272. <seealso>
  6273. </seealso>
  6274. </element>
  6275. <element name="TBinaryObjectWriter.FSignatureWritten"> <!-- Variable -->
  6276. <short></short>
  6277. <descr>
  6278. </descr>
  6279. <seealso>
  6280. </seealso>
  6281. </element>
  6282. <element name="TBinaryObjectWriter.FlushBuffer"> <!-- Procedure -->
  6283. <short></short>
  6284. <descr>
  6285. </descr>
  6286. <seealso>
  6287. </seealso>
  6288. </element>
  6289. <element name="TBinaryObjectWriter.Write"> <!-- Procedure -->
  6290. <short></short>
  6291. <descr>
  6292. </descr>
  6293. <seealso>
  6294. </seealso>
  6295. </element>
  6296. <element name="TBinaryObjectWriter.WriteValue"> <!-- Procedure -->
  6297. <short></short>
  6298. <descr>
  6299. </descr>
  6300. <seealso>
  6301. </seealso>
  6302. </element>
  6303. <element name="TBinaryObjectWriter.WriteStr"> <!-- Procedure -->
  6304. <short></short>
  6305. <descr>
  6306. </descr>
  6307. <seealso>
  6308. </seealso>
  6309. </element>
  6310. <element name="TBinaryObjectWriter.Create"> <!-- Constructor -->
  6311. <short></short>
  6312. <descr>
  6313. </descr>
  6314. <seealso>
  6315. </seealso>
  6316. </element>
  6317. <element name="TBinaryObjectWriter.Destroy"> <!-- Destructor -->
  6318. <short></short>
  6319. <descr>
  6320. </descr>
  6321. <seealso>
  6322. </seealso>
  6323. </element>
  6324. <element name="TBinaryObjectWriter.BeginCollection"> <!-- Procedure -->
  6325. <short></short>
  6326. <descr>
  6327. </descr>
  6328. <seealso>
  6329. </seealso>
  6330. </element>
  6331. <element name="TBinaryObjectWriter.BeginComponent"> <!-- Procedure -->
  6332. <short></short>
  6333. <descr>
  6334. </descr>
  6335. <seealso>
  6336. </seealso>
  6337. </element>
  6338. <element name="TBinaryObjectWriter.BeginList"> <!-- Procedure -->
  6339. <short></short>
  6340. <descr>
  6341. </descr>
  6342. <seealso>
  6343. </seealso>
  6344. </element>
  6345. <element name="TBinaryObjectWriter.EndList"> <!-- Procedure -->
  6346. <short></short>
  6347. <descr>
  6348. </descr>
  6349. <seealso>
  6350. </seealso>
  6351. </element>
  6352. <element name="TBinaryObjectWriter.BeginProperty"> <!-- Procedure -->
  6353. <short></short>
  6354. <descr>
  6355. </descr>
  6356. <seealso>
  6357. </seealso>
  6358. </element>
  6359. <element name="TBinaryObjectWriter.EndProperty"> <!-- Procedure -->
  6360. <short></short>
  6361. <descr>
  6362. </descr>
  6363. <seealso>
  6364. </seealso>
  6365. </element>
  6366. <element name="TBinaryObjectWriter.WriteBinary"> <!-- Procedure -->
  6367. <short></short>
  6368. <descr>
  6369. </descr>
  6370. <seealso>
  6371. </seealso>
  6372. </element>
  6373. <element name="TBinaryObjectWriter.WriteBoolean"> <!-- Procedure -->
  6374. <short></short>
  6375. <descr>
  6376. </descr>
  6377. <seealso>
  6378. </seealso>
  6379. </element>
  6380. <element name="TBinaryObjectWriter.WriteFloat"> <!-- Procedure -->
  6381. <short></short>
  6382. <descr>
  6383. </descr>
  6384. <seealso>
  6385. </seealso>
  6386. </element>
  6387. <element name="TBinaryObjectWriter.WriteSingle"> <!-- Procedure -->
  6388. <short></short>
  6389. <descr>
  6390. </descr>
  6391. <seealso>
  6392. </seealso>
  6393. </element>
  6394. <element name="TBinaryObjectWriter.WriteDate"> <!-- Procedure -->
  6395. <short></short>
  6396. <descr>
  6397. </descr>
  6398. <seealso>
  6399. </seealso>
  6400. </element>
  6401. <element name="TBinaryObjectWriter.WriteIdent"> <!-- Procedure -->
  6402. <short></short>
  6403. <descr>
  6404. </descr>
  6405. <seealso>
  6406. </seealso>
  6407. </element>
  6408. <element name="TBinaryObjectWriter.WriteInteger"> <!-- Procedure -->
  6409. <short></short>
  6410. <descr>
  6411. </descr>
  6412. <seealso>
  6413. </seealso>
  6414. </element>
  6415. <element name="TBinaryObjectWriter.WriteMethodName"> <!-- Procedure -->
  6416. <short></short>
  6417. <descr>
  6418. </descr>
  6419. <seealso>
  6420. </seealso>
  6421. </element>
  6422. <element name="TBinaryObjectWriter.WriteSet"> <!-- Procedure -->
  6423. <short></short>
  6424. <descr>
  6425. </descr>
  6426. <seealso>
  6427. </seealso>
  6428. </element>
  6429. <element name="TBinaryObjectWriter.WriteString"> <!-- Procedure -->
  6430. <short></short>
  6431. <descr>
  6432. </descr>
  6433. <seealso>
  6434. </seealso>
  6435. </element>
  6436. <!--
  6437. *********************************************************************
  6438. TTextObjectWriter
  6439. *********************************************************************
  6440. -->
  6441. <element name="TTextObjectWriter"> <!-- Class -->
  6442. <short>Driver class which stores component data in text format.</short>
  6443. <descr>
  6444. </descr>
  6445. <seealso>
  6446. </seealso>
  6447. </element>
  6448. <element name="TFindAncestorEvent"> <!-- Procedure type -->
  6449. <short></short>
  6450. <descr>
  6451. </descr>
  6452. <seealso>
  6453. </seealso>
  6454. </element>
  6455. <!--
  6456. *********************************************************************
  6457. TWriter
  6458. *********************************************************************
  6459. -->
  6460. <element name="TWriter"> <!-- Class -->
  6461. <short>Object to write component data to an arbitrary format.</short>
  6462. <descr>
  6463. </descr>
  6464. <seealso>
  6465. </seealso>
  6466. </element>
  6467. <element name="TWriter.FDriver"> <!-- Variable -->
  6468. <short></short>
  6469. <descr>
  6470. </descr>
  6471. <seealso>
  6472. </seealso>
  6473. </element>
  6474. <element name="TWriter.FDestroyDriver"> <!-- Variable -->
  6475. <short></short>
  6476. <descr>
  6477. </descr>
  6478. <seealso>
  6479. </seealso>
  6480. </element>
  6481. <element name="TWriter.FRootAncestor"> <!-- Variable -->
  6482. <short></short>
  6483. <descr>
  6484. </descr>
  6485. <seealso>
  6486. </seealso>
  6487. </element>
  6488. <element name="TWriter.FPropPath"> <!-- Variable -->
  6489. <short></short>
  6490. <descr>
  6491. </descr>
  6492. <seealso>
  6493. </seealso>
  6494. </element>
  6495. <element name="TWriter.FAncestorList"> <!-- Variable -->
  6496. <short></short>
  6497. <descr>
  6498. </descr>
  6499. <seealso>
  6500. </seealso>
  6501. </element>
  6502. <element name="TWriter.FAncestorPos"> <!-- Variable -->
  6503. <short></short>
  6504. <descr>
  6505. </descr>
  6506. <seealso>
  6507. </seealso>
  6508. </element>
  6509. <element name="TWriter.FChildPos"> <!-- Variable -->
  6510. <short></short>
  6511. <descr>
  6512. </descr>
  6513. <seealso>
  6514. </seealso>
  6515. </element>
  6516. <element name="TWriter.FOnFindAncestor"> <!-- Variable -->
  6517. <short></short>
  6518. <descr>
  6519. </descr>
  6520. <seealso>
  6521. </seealso>
  6522. </element>
  6523. <element name="TWriter.AddToAncestorList"> <!-- Procedure -->
  6524. <short></short>
  6525. <descr>
  6526. </descr>
  6527. <seealso>
  6528. </seealso>
  6529. </element>
  6530. <element name="TWriter.WriteComponentData"> <!-- Procedure -->
  6531. <short></short>
  6532. <descr>
  6533. </descr>
  6534. <seealso>
  6535. </seealso>
  6536. </element>
  6537. <element name="TWriter.SetRoot"> <!-- Procedure -->
  6538. <short></short>
  6539. <descr>
  6540. </descr>
  6541. <seealso>
  6542. </seealso>
  6543. </element>
  6544. <element name="TWriter.WriteBinary"> <!-- Procedure -->
  6545. <short></short>
  6546. <descr>
  6547. </descr>
  6548. <seealso>
  6549. </seealso>
  6550. </element>
  6551. <element name="TWriter.WriteProperty"> <!-- Procedure -->
  6552. <short></short>
  6553. <descr>
  6554. </descr>
  6555. <seealso>
  6556. </seealso>
  6557. </element>
  6558. <element name="TWriter.WriteProperties"> <!-- Procedure -->
  6559. <short></short>
  6560. <descr>
  6561. </descr>
  6562. <seealso>
  6563. </seealso>
  6564. </element>
  6565. <element name="TWriter.Create"> <!-- Constructor -->
  6566. <short></short>
  6567. <descr>
  6568. </descr>
  6569. <seealso>
  6570. </seealso>
  6571. </element>
  6572. <element name="TWriter.Create"> <!-- Constructor -->
  6573. <short></short>
  6574. <descr>
  6575. </descr>
  6576. <seealso>
  6577. </seealso>
  6578. </element>
  6579. <element name="TWriter.Destroy"> <!-- Destructor -->
  6580. <short></short>
  6581. <descr>
  6582. </descr>
  6583. <seealso>
  6584. </seealso>
  6585. </element>
  6586. <element name="TWriter.DefineProperty"> <!-- Procedure -->
  6587. <short></short>
  6588. <descr>
  6589. </descr>
  6590. <seealso>
  6591. </seealso>
  6592. </element>
  6593. <element name="TWriter.DefineBinaryProperty"> <!-- Procedure -->
  6594. <short></short>
  6595. <descr>
  6596. </descr>
  6597. <seealso>
  6598. </seealso>
  6599. </element>
  6600. <element name="TWriter.WriteBoolean"> <!-- Procedure -->
  6601. <short></short>
  6602. <descr>
  6603. </descr>
  6604. <seealso>
  6605. </seealso>
  6606. </element>
  6607. <element name="TWriter.WriteCollection"> <!-- Procedure -->
  6608. <short></short>
  6609. <descr>
  6610. </descr>
  6611. <seealso>
  6612. </seealso>
  6613. </element>
  6614. <element name="TWriter.WriteComponent"> <!-- Procedure -->
  6615. <short></short>
  6616. <descr>
  6617. </descr>
  6618. <seealso>
  6619. </seealso>
  6620. </element>
  6621. <element name="TWriter.WriteChar"> <!-- Procedure -->
  6622. <short></short>
  6623. <descr>
  6624. </descr>
  6625. <seealso>
  6626. </seealso>
  6627. </element>
  6628. <element name="TWriter.WriteDescendent"> <!-- Procedure -->
  6629. <short></short>
  6630. <descr>
  6631. </descr>
  6632. <seealso>
  6633. </seealso>
  6634. </element>
  6635. <element name="TWriter.WriteFloat"> <!-- Procedure -->
  6636. <short></short>
  6637. <descr>
  6638. </descr>
  6639. <seealso>
  6640. </seealso>
  6641. </element>
  6642. <element name="TWriter.WriteSingle"> <!-- Procedure -->
  6643. <short></short>
  6644. <descr>
  6645. </descr>
  6646. <seealso>
  6647. </seealso>
  6648. </element>
  6649. <element name="TWriter.WriteDate"> <!-- Procedure -->
  6650. <short></short>
  6651. <descr>
  6652. </descr>
  6653. <seealso>
  6654. </seealso>
  6655. </element>
  6656. <element name="TWriter.WriteIdent"> <!-- Procedure -->
  6657. <short></short>
  6658. <descr>
  6659. </descr>
  6660. <seealso>
  6661. </seealso>
  6662. </element>
  6663. <element name="TWriter.WriteInteger"> <!-- Procedure -->
  6664. <short></short>
  6665. <descr>
  6666. </descr>
  6667. <seealso>
  6668. </seealso>
  6669. </element>
  6670. <element name="TWriter.WriteInteger"> <!-- Procedure -->
  6671. <short></short>
  6672. <descr>
  6673. </descr>
  6674. <seealso>
  6675. </seealso>
  6676. </element>
  6677. <element name="TWriter.WriteListBegin"> <!-- Procedure -->
  6678. <short></short>
  6679. <descr>
  6680. </descr>
  6681. <seealso>
  6682. </seealso>
  6683. </element>
  6684. <element name="TWriter.WriteListEnd"> <!-- Procedure -->
  6685. <short></short>
  6686. <descr>
  6687. </descr>
  6688. <seealso>
  6689. </seealso>
  6690. </element>
  6691. <element name="TWriter.WriteRootComponent"> <!-- Procedure -->
  6692. <short></short>
  6693. <descr>
  6694. </descr>
  6695. <seealso>
  6696. </seealso>
  6697. </element>
  6698. <element name="TWriter.WriteString"> <!-- Procedure -->
  6699. <short></short>
  6700. <descr>
  6701. </descr>
  6702. <seealso>
  6703. </seealso>
  6704. </element>
  6705. <element name="TWriter.RootAncestor"> <!-- Property -->
  6706. <short></short>
  6707. <descr>
  6708. </descr>
  6709. <seealso>
  6710. </seealso>
  6711. </element>
  6712. <element name="TWriter.OnFindAncestor"> <!-- Property -->
  6713. <short></short>
  6714. <descr>
  6715. </descr>
  6716. <seealso>
  6717. </seealso>
  6718. </element>
  6719. <element name="TWriter.Driver"> <!-- Property -->
  6720. <short></short>
  6721. <descr>
  6722. </descr>
  6723. <seealso>
  6724. </seealso>
  6725. </element>
  6726. <!--
  6727. *********************************************************************
  6728. TParser
  6729. *********************************************************************
  6730. -->
  6731. <element name="TParser"> <!-- Class -->
  6732. <short>Class to parse the contents of a stream containing text data.</short>
  6733. <descr>
  6734. </descr>
  6735. <seealso>
  6736. </seealso>
  6737. </element>
  6738. <element name="TParser.FStream"> <!-- Variable -->
  6739. <short></short>
  6740. <descr>
  6741. </descr>
  6742. <seealso>
  6743. </seealso>
  6744. </element>
  6745. <element name="TParser.FOrigin"> <!-- Variable -->
  6746. <short></short>
  6747. <descr>
  6748. </descr>
  6749. <seealso>
  6750. </seealso>
  6751. </element>
  6752. <element name="TParser.FBuffer"> <!-- Variable -->
  6753. <short></short>
  6754. <descr>
  6755. </descr>
  6756. <seealso>
  6757. </seealso>
  6758. </element>
  6759. <element name="TParser.FBufPtr"> <!-- Variable -->
  6760. <short></short>
  6761. <descr>
  6762. </descr>
  6763. <seealso>
  6764. </seealso>
  6765. </element>
  6766. <element name="TParser.FBufEnd"> <!-- Variable -->
  6767. <short></short>
  6768. <descr>
  6769. </descr>
  6770. <seealso>
  6771. </seealso>
  6772. </element>
  6773. <element name="TParser.FSourcePtr"> <!-- Variable -->
  6774. <short></short>
  6775. <descr>
  6776. </descr>
  6777. <seealso>
  6778. </seealso>
  6779. </element>
  6780. <element name="TParser.FSourceEnd"> <!-- Variable -->
  6781. <short></short>
  6782. <descr>
  6783. </descr>
  6784. <seealso>
  6785. </seealso>
  6786. </element>
  6787. <element name="TParser.FTokenPtr"> <!-- Variable -->
  6788. <short></short>
  6789. <descr>
  6790. </descr>
  6791. <seealso>
  6792. </seealso>
  6793. </element>
  6794. <element name="TParser.FStringPtr"> <!-- Variable -->
  6795. <short></short>
  6796. <descr>
  6797. </descr>
  6798. <seealso>
  6799. </seealso>
  6800. </element>
  6801. <element name="TParser.FSourceLine"> <!-- Variable -->
  6802. <short></short>
  6803. <descr>
  6804. </descr>
  6805. <seealso>
  6806. </seealso>
  6807. </element>
  6808. <element name="TParser.FSaveChar"> <!-- Variable -->
  6809. <short></short>
  6810. <descr>
  6811. </descr>
  6812. <seealso>
  6813. </seealso>
  6814. </element>
  6815. <element name="TParser.FToken"> <!-- Variable -->
  6816. <short></short>
  6817. <descr>
  6818. </descr>
  6819. <seealso>
  6820. </seealso>
  6821. </element>
  6822. <element name="TParser.ReadBuffer"> <!-- Procedure -->
  6823. <short></short>
  6824. <descr>
  6825. </descr>
  6826. <seealso>
  6827. </seealso>
  6828. </element>
  6829. <element name="TParser.SkipBlanks"> <!-- Procedure -->
  6830. <short></short>
  6831. <descr>
  6832. </descr>
  6833. <seealso>
  6834. </seealso>
  6835. </element>
  6836. <element name="TParser.Create"> <!-- Constructor -->
  6837. <short></short>
  6838. <descr>
  6839. </descr>
  6840. <seealso>
  6841. </seealso>
  6842. </element>
  6843. <element name="TParser.Destroy"> <!-- Destructor -->
  6844. <short></short>
  6845. <descr>
  6846. </descr>
  6847. <seealso>
  6848. </seealso>
  6849. </element>
  6850. <element name="TParser.CheckToken"> <!-- Procedure -->
  6851. <short></short>
  6852. <descr>
  6853. </descr>
  6854. <seealso>
  6855. </seealso>
  6856. </element>
  6857. <element name="TParser.CheckTokenSymbol"> <!-- Procedure -->
  6858. <short></short>
  6859. <descr>
  6860. </descr>
  6861. <seealso>
  6862. </seealso>
  6863. </element>
  6864. <element name="TParser.Error"> <!-- Procedure -->
  6865. <short></short>
  6866. <descr>
  6867. </descr>
  6868. <seealso>
  6869. </seealso>
  6870. </element>
  6871. <element name="TParser.ErrorFmt"> <!-- Procedure -->
  6872. <short></short>
  6873. <descr>
  6874. </descr>
  6875. <seealso>
  6876. </seealso>
  6877. </element>
  6878. <element name="TParser.ErrorStr"> <!-- Procedure -->
  6879. <short></short>
  6880. <descr>
  6881. </descr>
  6882. <seealso>
  6883. </seealso>
  6884. </element>
  6885. <element name="TParser.HexToBinary"> <!-- Procedure -->
  6886. <short></short>
  6887. <descr>
  6888. </descr>
  6889. <seealso>
  6890. </seealso>
  6891. </element>
  6892. <element name="TParser.NextToken"> <!-- Function -->
  6893. <short></short>
  6894. <descr>
  6895. </descr>
  6896. <seealso>
  6897. </seealso>
  6898. </element>
  6899. <element name="TParser.SourcePos"> <!-- Function -->
  6900. <short></short>
  6901. <descr>
  6902. </descr>
  6903. <seealso>
  6904. </seealso>
  6905. </element>
  6906. <element name="TParser.TokenComponentIdent"> <!-- Function -->
  6907. <short></short>
  6908. <descr>
  6909. </descr>
  6910. <seealso>
  6911. </seealso>
  6912. </element>
  6913. <element name="TParser.TokenFloat"> <!-- Function -->
  6914. <short></short>
  6915. <descr>
  6916. </descr>
  6917. <seealso>
  6918. </seealso>
  6919. </element>
  6920. <element name="TParser.TokenInt"> <!-- Function -->
  6921. <short></short>
  6922. <descr>
  6923. </descr>
  6924. <seealso>
  6925. </seealso>
  6926. </element>
  6927. <element name="TParser.TokenString"> <!-- Function -->
  6928. <short></short>
  6929. <descr>
  6930. </descr>
  6931. <seealso>
  6932. </seealso>
  6933. </element>
  6934. <element name="TParser.TokenSymbolIs"> <!-- Function -->
  6935. <short></short>
  6936. <descr>
  6937. </descr>
  6938. <seealso>
  6939. </seealso>
  6940. </element>
  6941. <element name="TParser.SourceLine"> <!-- Property -->
  6942. <short></short>
  6943. <descr>
  6944. </descr>
  6945. <seealso>
  6946. </seealso>
  6947. </element>
  6948. <element name="TParser.Token"> <!-- Property -->
  6949. <short></short>
  6950. <descr>
  6951. </descr>
  6952. <seealso>
  6953. </seealso>
  6954. </element>
  6955. <!--
  6956. *********************************************************************
  6957. EThread
  6958. *********************************************************************
  6959. -->
  6960. <element name="EThread"> <!-- Class -->
  6961. <short>Thread error exception.</short>
  6962. <descr>
  6963. </descr>
  6964. <seealso>
  6965. </seealso>
  6966. </element>
  6967. <element name="TThreadMethod"> <!-- Procedure type -->
  6968. <short></short>
  6969. <descr>
  6970. </descr>
  6971. <seealso>
  6972. </seealso>
  6973. </element>
  6974. <element name="TThreadPriority"> <!-- Enumeration type -->
  6975. <short></short>
  6976. <descr>
  6977. </descr>
  6978. <seealso>
  6979. </seealso>
  6980. </element>
  6981. <element name="TThreadPriority.tpIdle"> <!-- Enumeration value -->
  6982. <short></short>
  6983. <descr>
  6984. </descr>
  6985. <seealso>
  6986. </seealso>
  6987. </element>
  6988. <element name="TThreadPriority.tpLowest"> <!-- Enumeration value -->
  6989. <short></short>
  6990. <descr>
  6991. </descr>
  6992. <seealso>
  6993. </seealso>
  6994. </element>
  6995. <element name="TThreadPriority.tpLower"> <!-- Enumeration value -->
  6996. <short></short>
  6997. <descr>
  6998. </descr>
  6999. <seealso>
  7000. </seealso>
  7001. </element>
  7002. <element name="TThreadPriority.tpNormal"> <!-- Enumeration value -->
  7003. <short></short>
  7004. <descr>
  7005. </descr>
  7006. <seealso>
  7007. </seealso>
  7008. </element>
  7009. <element name="TThreadPriority.tpHigher"> <!-- Enumeration value -->
  7010. <short></short>
  7011. <descr>
  7012. </descr>
  7013. <seealso>
  7014. </seealso>
  7015. </element>
  7016. <element name="TThreadPriority.tpHighest"> <!-- Enumeration value -->
  7017. <short></short>
  7018. <descr>
  7019. </descr>
  7020. <seealso>
  7021. </seealso>
  7022. </element>
  7023. <element name="TThreadPriority.tpTimeCritical"> <!-- Enumeration value -->
  7024. <short></short>
  7025. <descr>
  7026. </descr>
  7027. <seealso>
  7028. </seealso>
  7029. </element>
  7030. <!--
  7031. *********************************************************************
  7032. TThread
  7033. *********************************************************************
  7034. -->
  7035. <element name="TThread"> <!-- Class -->
  7036. <short>Basic thread class, which starts a new thread.</short>
  7037. <descr>
  7038. </descr>
  7039. <seealso>
  7040. </seealso>
  7041. </element>
  7042. <element name="TThread.FHandle"> <!-- Variable -->
  7043. <short></short>
  7044. <descr>
  7045. </descr>
  7046. <seealso>
  7047. </seealso>
  7048. </element>
  7049. <element name="TThread.FThreadID"> <!-- Variable -->
  7050. <short></short>
  7051. <descr>
  7052. </descr>
  7053. <seealso>
  7054. </seealso>
  7055. </element>
  7056. <element name="TThread.FTerminated"> <!-- Variable -->
  7057. <short></short>
  7058. <descr>
  7059. </descr>
  7060. <seealso>
  7061. </seealso>
  7062. </element>
  7063. <element name="TThread.FSuspended"> <!-- Variable -->
  7064. <short></short>
  7065. <descr>
  7066. </descr>
  7067. <seealso>
  7068. </seealso>
  7069. </element>
  7070. <element name="TThread.FFreeOnTerminate"> <!-- Variable -->
  7071. <short></short>
  7072. <descr>
  7073. </descr>
  7074. <seealso>
  7075. </seealso>
  7076. </element>
  7077. <element name="TThread.FFinished"> <!-- Variable -->
  7078. <short></short>
  7079. <descr>
  7080. </descr>
  7081. <seealso>
  7082. </seealso>
  7083. </element>
  7084. <element name="TThread.FReturnValue"> <!-- Variable -->
  7085. <short></short>
  7086. <descr>
  7087. </descr>
  7088. <seealso>
  7089. </seealso>
  7090. </element>
  7091. <element name="TThread.FOnTerminate"> <!-- Variable -->
  7092. <short></short>
  7093. <descr>
  7094. </descr>
  7095. <seealso>
  7096. </seealso>
  7097. </element>
  7098. <element name="TThread.FMethod"> <!-- Variable -->
  7099. <short></short>
  7100. <descr>
  7101. </descr>
  7102. <seealso>
  7103. </seealso>
  7104. </element>
  7105. <element name="TThread.FSynchronizeException"> <!-- Variable -->
  7106. <short></short>
  7107. <descr>
  7108. </descr>
  7109. <seealso>
  7110. </seealso>
  7111. </element>
  7112. <element name="TThread.CallOnTerminate"> <!-- Procedure -->
  7113. <short></short>
  7114. <descr>
  7115. </descr>
  7116. <seealso>
  7117. </seealso>
  7118. </element>
  7119. <element name="TThread.GetPriority"> <!-- Function -->
  7120. <short></short>
  7121. <descr>
  7122. </descr>
  7123. <seealso>
  7124. </seealso>
  7125. </element>
  7126. <element name="TThread.SetPriority"> <!-- Procedure -->
  7127. <short></short>
  7128. <descr>
  7129. </descr>
  7130. <seealso>
  7131. </seealso>
  7132. </element>
  7133. <element name="TThread.SetSuspended"> <!-- Procedure -->
  7134. <short></short>
  7135. <descr>
  7136. </descr>
  7137. <seealso>
  7138. </seealso>
  7139. </element>
  7140. <element name="TThread.DoTerminate"> <!-- Procedure -->
  7141. <short></short>
  7142. <descr>
  7143. </descr>
  7144. <seealso>
  7145. </seealso>
  7146. </element>
  7147. <element name="TThread.Execute"> <!-- Procedure -->
  7148. <short></short>
  7149. <descr>
  7150. </descr>
  7151. <seealso>
  7152. </seealso>
  7153. </element>
  7154. <element name="TThread.Synchronize"> <!-- Procedure -->
  7155. <short></short>
  7156. <descr>
  7157. </descr>
  7158. <seealso>
  7159. </seealso>
  7160. </element>
  7161. <element name="TThread.ReturnValue"> <!-- Property -->
  7162. <short></short>
  7163. <descr>
  7164. </descr>
  7165. <seealso>
  7166. </seealso>
  7167. </element>
  7168. <element name="TThread.Terminated"> <!-- Property -->
  7169. <short></short>
  7170. <descr>
  7171. </descr>
  7172. <seealso>
  7173. </seealso>
  7174. </element>
  7175. <element name="TThread.FStackPointer"> <!-- Variable -->
  7176. <short></short>
  7177. <descr>
  7178. </descr>
  7179. <seealso>
  7180. </seealso>
  7181. </element>
  7182. <element name="TThread.FStackSize"> <!-- Variable -->
  7183. <short></short>
  7184. <descr>
  7185. </descr>
  7186. <seealso>
  7187. </seealso>
  7188. </element>
  7189. <element name="TThread.FCallExitProcess"> <!-- Variable -->
  7190. <short></short>
  7191. <descr>
  7192. </descr>
  7193. <seealso>
  7194. </seealso>
  7195. </element>
  7196. <element name="TThread.Create"> <!-- Constructor -->
  7197. <short></short>
  7198. <descr>
  7199. </descr>
  7200. <seealso>
  7201. </seealso>
  7202. </element>
  7203. <element name="TThread.Destroy"> <!-- Destructor -->
  7204. <short></short>
  7205. <descr>
  7206. </descr>
  7207. <seealso>
  7208. </seealso>
  7209. </element>
  7210. <element name="TThread.Resume"> <!-- Procedure -->
  7211. <short></short>
  7212. <descr>
  7213. </descr>
  7214. <seealso>
  7215. </seealso>
  7216. </element>
  7217. <element name="TThread.Suspend"> <!-- Procedure -->
  7218. <short></short>
  7219. <descr>
  7220. </descr>
  7221. <seealso>
  7222. </seealso>
  7223. </element>
  7224. <element name="TThread.Terminate"> <!-- Procedure -->
  7225. <short></short>
  7226. <descr>
  7227. </descr>
  7228. <seealso>
  7229. </seealso>
  7230. </element>
  7231. <element name="TThread.WaitFor"> <!-- Function -->
  7232. <short></short>
  7233. <descr>
  7234. </descr>
  7235. <seealso>
  7236. </seealso>
  7237. </element>
  7238. <element name="TThread.FreeOnTerminate"> <!-- Property -->
  7239. <short></short>
  7240. <descr>
  7241. </descr>
  7242. <seealso>
  7243. </seealso>
  7244. </element>
  7245. <element name="TThread.Handle"> <!-- Property -->
  7246. <short></short>
  7247. <descr>
  7248. </descr>
  7249. <seealso>
  7250. </seealso>
  7251. </element>
  7252. <element name="TThread.Priority"> <!-- Property -->
  7253. <short></short>
  7254. <descr>
  7255. </descr>
  7256. <seealso>
  7257. </seealso>
  7258. </element>
  7259. <element name="TThread.Suspended"> <!-- Property -->
  7260. <short></short>
  7261. <descr>
  7262. </descr>
  7263. <seealso>
  7264. </seealso>
  7265. </element>
  7266. <element name="TThread.ThreadID"> <!-- Property -->
  7267. <short></short>
  7268. <descr>
  7269. </descr>
  7270. <seealso>
  7271. </seealso>
  7272. </element>
  7273. <element name="TThread.OnTerminate"> <!-- Property -->
  7274. <short></short>
  7275. <descr>
  7276. </descr>
  7277. <seealso>
  7278. </seealso>
  7279. </element>
  7280. <element name="TOperation"> <!-- Enumeration type -->
  7281. <short></short>
  7282. <descr>
  7283. </descr>
  7284. <seealso>
  7285. </seealso>
  7286. </element>
  7287. <element name="TOperation.opInsert"> <!-- Enumeration value -->
  7288. <short></short>
  7289. <descr>
  7290. </descr>
  7291. <seealso>
  7292. </seealso>
  7293. </element>
  7294. <element name="TOperation.opRemove"> <!-- Enumeration value -->
  7295. <short></short>
  7296. <descr>
  7297. </descr>
  7298. <seealso>
  7299. </seealso>
  7300. </element>
  7301. <element name="TComponentState"> <!-- Set type -->
  7302. <short></short>
  7303. <descr>
  7304. </descr>
  7305. <seealso>
  7306. </seealso>
  7307. </element>
  7308. <element name="TComponentState.csLoading"> <!-- Enumeration value -->
  7309. <short></short>
  7310. <descr>
  7311. </descr>
  7312. <seealso>
  7313. </seealso>
  7314. </element>
  7315. <element name="TComponentState.csReading"> <!-- Enumeration value -->
  7316. <short></short>
  7317. <descr>
  7318. </descr>
  7319. <seealso>
  7320. </seealso>
  7321. </element>
  7322. <element name="TComponentState.csWriting"> <!-- Enumeration value -->
  7323. <short></short>
  7324. <descr>
  7325. </descr>
  7326. <seealso>
  7327. </seealso>
  7328. </element>
  7329. <element name="TComponentState.csDestroying"> <!-- Enumeration value -->
  7330. <short></short>
  7331. <descr>
  7332. </descr>
  7333. <seealso>
  7334. </seealso>
  7335. </element>
  7336. <element name="TComponentState.csDesigning"> <!-- Enumeration value -->
  7337. <short></short>
  7338. <descr>
  7339. </descr>
  7340. <seealso>
  7341. </seealso>
  7342. </element>
  7343. <element name="TComponentState.csAncestor"> <!-- Enumeration value -->
  7344. <short></short>
  7345. <descr>
  7346. </descr>
  7347. <seealso>
  7348. </seealso>
  7349. </element>
  7350. <element name="TComponentState.csUpdating"> <!-- Enumeration value -->
  7351. <short></short>
  7352. <descr>
  7353. </descr>
  7354. <seealso>
  7355. </seealso>
  7356. </element>
  7357. <element name="TComponentState.csFixups"> <!-- Enumeration value -->
  7358. <short></short>
  7359. <descr>
  7360. </descr>
  7361. <seealso>
  7362. </seealso>
  7363. </element>
  7364. <element name="TComponentState.csFreeNotification"> <!-- Enumeration value -->
  7365. <short></short>
  7366. <descr>
  7367. </descr>
  7368. <seealso>
  7369. </seealso>
  7370. </element>
  7371. <element name="TComponentState.csInline"> <!-- Enumeration value -->
  7372. <short></short>
  7373. <descr>
  7374. </descr>
  7375. <seealso>
  7376. </seealso>
  7377. </element>
  7378. <element name="TComponentState.csDesignInstance"> <!-- Enumeration value -->
  7379. <short></short>
  7380. <descr>
  7381. </descr>
  7382. <seealso>
  7383. </seealso>
  7384. </element>
  7385. <element name="TComponentStyle"> <!-- Set type -->
  7386. <short></short>
  7387. <descr>
  7388. </descr>
  7389. <seealso>
  7390. </seealso>
  7391. </element>
  7392. <element name="TComponentStyle.csInheritable"> <!-- Enumeration value -->
  7393. <short></short>
  7394. <descr>
  7395. </descr>
  7396. <seealso>
  7397. </seealso>
  7398. </element>
  7399. <element name="TComponentStyle.csCheckPropAvail"> <!-- Enumeration value -->
  7400. <short></short>
  7401. <descr>
  7402. </descr>
  7403. <seealso>
  7404. </seealso>
  7405. </element>
  7406. <element name="TGetChildProc"> <!-- Procedure type -->
  7407. <short></short>
  7408. <descr>
  7409. </descr>
  7410. <seealso>
  7411. </seealso>
  7412. </element>
  7413. <!--
  7414. *********************************************************************
  7415. TComponent
  7416. *********************************************************************
  7417. -->
  7418. <element name="TComponent"> <!-- Class -->
  7419. <short>Base class for all components that need owner-owned functionality.</short>
  7420. <descr>
  7421. </descr>
  7422. <seealso>
  7423. </seealso>
  7424. </element>
  7425. <element name="TComponent.FOwner"> <!-- Variable -->
  7426. <short></short>
  7427. <descr>
  7428. </descr>
  7429. <seealso>
  7430. </seealso>
  7431. </element>
  7432. <element name="TComponent.FName"> <!-- Variable -->
  7433. <short></short>
  7434. <descr>
  7435. </descr>
  7436. <seealso>
  7437. </seealso>
  7438. </element>
  7439. <element name="TComponent.FTag"> <!-- Variable -->
  7440. <short></short>
  7441. <descr>
  7442. </descr>
  7443. <seealso>
  7444. </seealso>
  7445. </element>
  7446. <element name="TComponent.FComponents"> <!-- Variable -->
  7447. <short></short>
  7448. <descr>
  7449. </descr>
  7450. <seealso>
  7451. </seealso>
  7452. </element>
  7453. <element name="TComponent.FFreeNotifies"> <!-- Variable -->
  7454. <short></short>
  7455. <descr>
  7456. </descr>
  7457. <seealso>
  7458. </seealso>
  7459. </element>
  7460. <element name="TComponent.FDesignInfo"> <!-- Variable -->
  7461. <short></short>
  7462. <descr>
  7463. </descr>
  7464. <seealso>
  7465. </seealso>
  7466. </element>
  7467. <element name="TComponent.FVCLComObject"> <!-- Variable -->
  7468. <short></short>
  7469. <descr>
  7470. </descr>
  7471. <seealso>
  7472. </seealso>
  7473. </element>
  7474. <element name="TComponent.FComponentState"> <!-- Variable -->
  7475. <short></short>
  7476. <descr>
  7477. </descr>
  7478. <seealso>
  7479. </seealso>
  7480. </element>
  7481. <element name="TComponent.GetComponent"> <!-- Function -->
  7482. <short></short>
  7483. <descr>
  7484. </descr>
  7485. <seealso>
  7486. </seealso>
  7487. </element>
  7488. <element name="TComponent.GetComponentCount"> <!-- Function -->
  7489. <short></short>
  7490. <descr>
  7491. </descr>
  7492. <seealso>
  7493. </seealso>
  7494. </element>
  7495. <element name="TComponent.GetComponentIndex"> <!-- Function -->
  7496. <short></short>
  7497. <descr>
  7498. </descr>
  7499. <seealso>
  7500. </seealso>
  7501. </element>
  7502. <element name="TComponent.Insert"> <!-- Procedure -->
  7503. <short></short>
  7504. <descr>
  7505. </descr>
  7506. <seealso>
  7507. </seealso>
  7508. </element>
  7509. <element name="TComponent.ReadLeft"> <!-- Procedure -->
  7510. <short></short>
  7511. <descr>
  7512. </descr>
  7513. <seealso>
  7514. </seealso>
  7515. </element>
  7516. <element name="TComponent.ReadTop"> <!-- Procedure -->
  7517. <short></short>
  7518. <descr>
  7519. </descr>
  7520. <seealso>
  7521. </seealso>
  7522. </element>
  7523. <element name="TComponent.Remove"> <!-- Procedure -->
  7524. <short></short>
  7525. <descr>
  7526. </descr>
  7527. <seealso>
  7528. </seealso>
  7529. </element>
  7530. <element name="TComponent.SetComponentIndex"> <!-- Procedure -->
  7531. <short></short>
  7532. <descr>
  7533. </descr>
  7534. <seealso>
  7535. </seealso>
  7536. </element>
  7537. <element name="TComponent.SetReference"> <!-- Procedure -->
  7538. <short></short>
  7539. <descr>
  7540. </descr>
  7541. <seealso>
  7542. </seealso>
  7543. </element>
  7544. <element name="TComponent.WriteLeft"> <!-- Procedure -->
  7545. <short></short>
  7546. <descr>
  7547. </descr>
  7548. <seealso>
  7549. </seealso>
  7550. </element>
  7551. <element name="TComponent.WriteTop"> <!-- Procedure -->
  7552. <short></short>
  7553. <descr>
  7554. </descr>
  7555. <seealso>
  7556. </seealso>
  7557. </element>
  7558. <element name="TComponent.FComponentStyle"> <!-- Variable -->
  7559. <short></short>
  7560. <descr>
  7561. </descr>
  7562. <seealso>
  7563. </seealso>
  7564. </element>
  7565. <element name="TComponent.ChangeName"> <!-- Procedure -->
  7566. <short></short>
  7567. <descr>
  7568. </descr>
  7569. <seealso>
  7570. </seealso>
  7571. </element>
  7572. <element name="TComponent.DefineProperties"> <!-- Procedure -->
  7573. <short></short>
  7574. <descr>
  7575. </descr>
  7576. <seealso>
  7577. </seealso>
  7578. </element>
  7579. <element name="TComponent.GetChildren"> <!-- Procedure -->
  7580. <short></short>
  7581. <descr>
  7582. </descr>
  7583. <seealso>
  7584. </seealso>
  7585. </element>
  7586. <element name="TComponent.GetChildOwner"> <!-- Function -->
  7587. <short></short>
  7588. <descr>
  7589. </descr>
  7590. <seealso>
  7591. </seealso>
  7592. </element>
  7593. <element name="TComponent.GetChildParent"> <!-- Function -->
  7594. <short></short>
  7595. <descr>
  7596. </descr>
  7597. <seealso>
  7598. </seealso>
  7599. </element>
  7600. <element name="TComponent.GetNamePath"> <!-- Function -->
  7601. <short></short>
  7602. <descr>
  7603. </descr>
  7604. <seealso>
  7605. </seealso>
  7606. </element>
  7607. <element name="TComponent.GetOwner"> <!-- Function -->
  7608. <short></short>
  7609. <descr>
  7610. </descr>
  7611. <seealso>
  7612. </seealso>
  7613. </element>
  7614. <element name="TComponent.Loaded"> <!-- Procedure -->
  7615. <short></short>
  7616. <descr>
  7617. </descr>
  7618. <seealso>
  7619. </seealso>
  7620. </element>
  7621. <element name="TComponent.Notification"> <!-- Procedure -->
  7622. <short></short>
  7623. <descr>
  7624. </descr>
  7625. <seealso>
  7626. </seealso>
  7627. </element>
  7628. <element name="TComponent.ReadState"> <!-- Procedure -->
  7629. <short></short>
  7630. <descr>
  7631. </descr>
  7632. <seealso>
  7633. </seealso>
  7634. </element>
  7635. <element name="TComponent.SetAncestor"> <!-- Procedure -->
  7636. <short></short>
  7637. <descr>
  7638. </descr>
  7639. <seealso>
  7640. </seealso>
  7641. </element>
  7642. <element name="TComponent.SetDesigning"> <!-- Procedure -->
  7643. <short></short>
  7644. <descr>
  7645. </descr>
  7646. <seealso>
  7647. </seealso>
  7648. </element>
  7649. <element name="TComponent.SetName"> <!-- Procedure -->
  7650. <short></short>
  7651. <descr>
  7652. </descr>
  7653. <seealso>
  7654. </seealso>
  7655. </element>
  7656. <element name="TComponent.SetChildOrder"> <!-- Procedure -->
  7657. <short></short>
  7658. <descr>
  7659. </descr>
  7660. <seealso>
  7661. </seealso>
  7662. </element>
  7663. <element name="TComponent.SetParentComponent"> <!-- Procedure -->
  7664. <short></short>
  7665. <descr>
  7666. </descr>
  7667. <seealso>
  7668. </seealso>
  7669. </element>
  7670. <element name="TComponent.Updating"> <!-- Procedure -->
  7671. <short></short>
  7672. <descr>
  7673. </descr>
  7674. <seealso>
  7675. </seealso>
  7676. </element>
  7677. <element name="TComponent.Updated"> <!-- Procedure -->
  7678. <short></short>
  7679. <descr>
  7680. </descr>
  7681. <seealso>
  7682. </seealso>
  7683. </element>
  7684. <element name="TComponent.UpdateRegistry"> <!-- Procedure -->
  7685. <short></short>
  7686. <descr>
  7687. </descr>
  7688. <seealso>
  7689. </seealso>
  7690. </element>
  7691. <element name="TComponent.ValidateRename"> <!-- Procedure -->
  7692. <short></short>
  7693. <descr>
  7694. </descr>
  7695. <seealso>
  7696. </seealso>
  7697. </element>
  7698. <element name="TComponent.ValidateContainer"> <!-- Procedure -->
  7699. <short></short>
  7700. <descr>
  7701. </descr>
  7702. <seealso>
  7703. </seealso>
  7704. </element>
  7705. <element name="TComponent.ValidateInsert"> <!-- Procedure -->
  7706. <short></short>
  7707. <descr>
  7708. </descr>
  7709. <seealso>
  7710. </seealso>
  7711. </element>
  7712. <element name="TComponent.WriteState"> <!-- Procedure -->
  7713. <short></short>
  7714. <descr>
  7715. </descr>
  7716. <seealso>
  7717. </seealso>
  7718. </element>
  7719. <element name="TComponent.Create"> <!-- Constructor -->
  7720. <short></short>
  7721. <descr>
  7722. </descr>
  7723. <seealso>
  7724. </seealso>
  7725. </element>
  7726. <element name="TComponent.Destroy"> <!-- Destructor -->
  7727. <short></short>
  7728. <descr>
  7729. </descr>
  7730. <seealso>
  7731. </seealso>
  7732. </element>
  7733. <element name="TComponent.DestroyComponents"> <!-- Procedure -->
  7734. <short></short>
  7735. <descr>
  7736. </descr>
  7737. <seealso>
  7738. </seealso>
  7739. </element>
  7740. <element name="TComponent.Destroying"> <!-- Procedure -->
  7741. <short></short>
  7742. <descr>
  7743. </descr>
  7744. <seealso>
  7745. </seealso>
  7746. </element>
  7747. <element name="TComponent.FindComponent"> <!-- Function -->
  7748. <short></short>
  7749. <descr>
  7750. </descr>
  7751. <seealso>
  7752. </seealso>
  7753. </element>
  7754. <element name="TComponent.FreeNotification"> <!-- Procedure -->
  7755. <short></short>
  7756. <descr>
  7757. </descr>
  7758. <seealso>
  7759. </seealso>
  7760. </element>
  7761. <element name="TComponent.FreeOnRelease"> <!-- Procedure -->
  7762. <short></short>
  7763. <descr>
  7764. </descr>
  7765. <seealso>
  7766. </seealso>
  7767. </element>
  7768. <element name="TComponent.GetParentComponent"> <!-- Function -->
  7769. <short></short>
  7770. <descr>
  7771. </descr>
  7772. <seealso>
  7773. </seealso>
  7774. </element>
  7775. <element name="TComponent.HasParent"> <!-- Function -->
  7776. <short></short>
  7777. <descr>
  7778. </descr>
  7779. <seealso>
  7780. </seealso>
  7781. </element>
  7782. <element name="TComponent.InsertComponent"> <!-- Procedure -->
  7783. <short></short>
  7784. <descr>
  7785. </descr>
  7786. <seealso>
  7787. </seealso>
  7788. </element>
  7789. <element name="TComponent.RemoveComponent"> <!-- Procedure -->
  7790. <short></short>
  7791. <descr>
  7792. </descr>
  7793. <seealso>
  7794. </seealso>
  7795. </element>
  7796. <element name="TComponent.SafeCallException"> <!-- Function -->
  7797. <short></short>
  7798. <descr>
  7799. </descr>
  7800. <seealso>
  7801. </seealso>
  7802. </element>
  7803. <element name="TComponent.Components"> <!-- Property -->
  7804. <short></short>
  7805. <descr>
  7806. </descr>
  7807. <seealso>
  7808. </seealso>
  7809. </element>
  7810. <element name="TComponent.ComponentCount"> <!-- Property -->
  7811. <short></short>
  7812. <descr>
  7813. </descr>
  7814. <seealso>
  7815. </seealso>
  7816. </element>
  7817. <element name="TComponent.ComponentIndex"> <!-- Property -->
  7818. <short></short>
  7819. <descr>
  7820. </descr>
  7821. <seealso>
  7822. </seealso>
  7823. </element>
  7824. <element name="TComponent.ComponentState"> <!-- Property -->
  7825. <short></short>
  7826. <descr>
  7827. </descr>
  7828. <seealso>
  7829. </seealso>
  7830. </element>
  7831. <element name="TComponent.ComponentStyle"> <!-- Property -->
  7832. <short></short>
  7833. <descr>
  7834. </descr>
  7835. <seealso>
  7836. </seealso>
  7837. </element>
  7838. <element name="TComponent.DesignInfo"> <!-- Property -->
  7839. <short></short>
  7840. <descr>
  7841. </descr>
  7842. <seealso>
  7843. </seealso>
  7844. </element>
  7845. <element name="TComponent.Owner"> <!-- Property -->
  7846. <short></short>
  7847. <descr>
  7848. </descr>
  7849. <seealso>
  7850. </seealso>
  7851. </element>
  7852. <element name="TComponent.VCLComObject"> <!-- Property -->
  7853. <short></short>
  7854. <descr>
  7855. </descr>
  7856. <seealso>
  7857. </seealso>
  7858. </element>
  7859. <element name="TComponent.Name"> <!-- Property -->
  7860. <short></short>
  7861. <descr>
  7862. </descr>
  7863. <seealso>
  7864. </seealso>
  7865. </element>
  7866. <element name="TComponent.Tag"> <!-- Property -->
  7867. <short></short>
  7868. <descr>
  7869. </descr>
  7870. <seealso>
  7871. </seealso>
  7872. </element>
  7873. <element name="TActiveXRegType"> <!-- Enumeration type -->
  7874. <short></short>
  7875. <descr>
  7876. </descr>
  7877. <seealso>
  7878. </seealso>
  7879. </element>
  7880. <element name="TActiveXRegType.axrComponentOnly"> <!-- Enumeration value -->
  7881. <short></short>
  7882. <descr>
  7883. </descr>
  7884. <seealso>
  7885. </seealso>
  7886. </element>
  7887. <element name="TActiveXRegType.axrIncludeDescendants"> <!-- Enumeration value -->
  7888. <short></short>
  7889. <descr>
  7890. </descr>
  7891. <seealso>
  7892. </seealso>
  7893. </element>
  7894. <element name="RegisterComponentsProc"> <!-- Variable -->
  7895. <short></short>
  7896. <descr>
  7897. </descr>
  7898. <seealso>
  7899. </seealso>
  7900. </element>
  7901. <element name="RegisterNoIconProc"> <!-- Variable -->
  7902. <short></short>
  7903. <descr>
  7904. </descr>
  7905. <seealso>
  7906. </seealso>
  7907. </element>
  7908. <element name="Point"> <!-- Function -->
  7909. <short></short>
  7910. <descr>
  7911. </descr>
  7912. <seealso>
  7913. </seealso>
  7914. </element>
  7915. <element name="SmallPoint"> <!-- Function -->
  7916. <short></short>
  7917. <descr>
  7918. </descr>
  7919. <seealso>
  7920. </seealso>
  7921. </element>
  7922. <element name="Rect"> <!-- Function -->
  7923. <short></short>
  7924. <descr>
  7925. </descr>
  7926. <seealso>
  7927. </seealso>
  7928. </element>
  7929. <element name="Bounds"> <!-- Function -->
  7930. <short></short>
  7931. <descr>
  7932. </descr>
  7933. <seealso>
  7934. </seealso>
  7935. </element>
  7936. <element name="RegisterClass"> <!-- Procedure -->
  7937. <short></short>
  7938. <descr>
  7939. </descr>
  7940. <seealso>
  7941. </seealso>
  7942. </element>
  7943. <element name="RegisterClasses"> <!-- Procedure -->
  7944. <short></short>
  7945. <descr>
  7946. </descr>
  7947. <seealso>
  7948. </seealso>
  7949. </element>
  7950. <element name="RegisterClassAlias"> <!-- Procedure -->
  7951. <short></short>
  7952. <descr>
  7953. </descr>
  7954. <seealso>
  7955. </seealso>
  7956. </element>
  7957. <element name="UnRegisterClass"> <!-- Procedure -->
  7958. <short></short>
  7959. <descr>
  7960. </descr>
  7961. <seealso>
  7962. </seealso>
  7963. </element>
  7964. <element name="UnRegisterClasses"> <!-- Procedure -->
  7965. <short></short>
  7966. <descr>
  7967. </descr>
  7968. <seealso>
  7969. </seealso>
  7970. </element>
  7971. <element name="UnRegisterModuleClasses"> <!-- Procedure -->
  7972. <short></short>
  7973. <descr>
  7974. </descr>
  7975. <seealso>
  7976. </seealso>
  7977. </element>
  7978. <element name="FindClass"> <!-- Function -->
  7979. <short></short>
  7980. <descr>
  7981. </descr>
  7982. <seealso>
  7983. </seealso>
  7984. </element>
  7985. <element name="GetClass"> <!-- Function -->
  7986. <short></short>
  7987. <descr>
  7988. </descr>
  7989. <seealso>
  7990. </seealso>
  7991. </element>
  7992. <element name="RegisterComponents"> <!-- Procedure -->
  7993. <short></short>
  7994. <descr>
  7995. </descr>
  7996. <seealso>
  7997. </seealso>
  7998. </element>
  7999. <element name="RegisterNoIcon"> <!-- Procedure -->
  8000. <short></short>
  8001. <descr>
  8002. </descr>
  8003. <seealso>
  8004. </seealso>
  8005. </element>
  8006. <element name="RegisterNonActiveX"> <!-- Procedure -->
  8007. <short></short>
  8008. <descr>
  8009. </descr>
  8010. <seealso>
  8011. </seealso>
  8012. </element>
  8013. <element name="TIdentMapEntry"> <!-- Record type -->
  8014. <short></short>
  8015. <descr>
  8016. </descr>
  8017. <seealso>
  8018. </seealso>
  8019. </element>
  8020. <element name="TIdentMapEntry.Value"> <!-- Variable -->
  8021. <short></short>
  8022. <descr>
  8023. </descr>
  8024. <seealso>
  8025. </seealso>
  8026. </element>
  8027. <element name="TIdentMapEntry.Name"> <!-- Variable -->
  8028. <short></short>
  8029. <descr>
  8030. </descr>
  8031. <seealso>
  8032. </seealso>
  8033. </element>
  8034. <element name="TIdentToInt"> <!-- Function type -->
  8035. <short></short>
  8036. <descr>
  8037. </descr>
  8038. <seealso>
  8039. </seealso>
  8040. </element>
  8041. <element name="TIntToIdent"> <!-- Function type -->
  8042. <short></short>
  8043. <descr>
  8044. </descr>
  8045. <seealso>
  8046. </seealso>
  8047. </element>
  8048. <element name="TFindGlobalComponent"> <!-- Function type -->
  8049. <short></short>
  8050. <descr>
  8051. </descr>
  8052. <seealso>
  8053. </seealso>
  8054. </element>
  8055. <element name="MainThreadID"> <!-- Variable -->
  8056. <short></short>
  8057. <descr>
  8058. </descr>
  8059. <seealso>
  8060. </seealso>
  8061. </element>
  8062. <element name="FindGlobalComponent"> <!-- Variable -->
  8063. <short></short>
  8064. <descr>
  8065. </descr>
  8066. <seealso>
  8067. </seealso>
  8068. </element>
  8069. <element name="RegisterIntegerConsts"> <!-- Procedure -->
  8070. <short></short>
  8071. <descr>
  8072. </descr>
  8073. <seealso>
  8074. </seealso>
  8075. </element>
  8076. <element name="IdentToInt"> <!-- Function -->
  8077. <short></short>
  8078. <descr>
  8079. </descr>
  8080. <seealso>
  8081. </seealso>
  8082. </element>
  8083. <element name="IntToIdent"> <!-- Function -->
  8084. <short></short>
  8085. <descr>
  8086. </descr>
  8087. <seealso>
  8088. </seealso>
  8089. </element>
  8090. <element name="InitInheritedComponent"> <!-- Function -->
  8091. <short></short>
  8092. <descr>
  8093. </descr>
  8094. <seealso>
  8095. </seealso>
  8096. </element>
  8097. <element name="InitComponentRes"> <!-- Function -->
  8098. <short></short>
  8099. <descr>
  8100. </descr>
  8101. <seealso>
  8102. </seealso>
  8103. </element>
  8104. <element name="ReadComponentRes"> <!-- Function -->
  8105. <short></short>
  8106. <descr>
  8107. </descr>
  8108. <seealso>
  8109. </seealso>
  8110. </element>
  8111. <element name="ReadComponentResEx"> <!-- Function -->
  8112. <short></short>
  8113. <descr>
  8114. </descr>
  8115. <seealso>
  8116. </seealso>
  8117. </element>
  8118. <element name="ReadComponentResFile"> <!-- Function -->
  8119. <short></short>
  8120. <descr>
  8121. </descr>
  8122. <seealso>
  8123. </seealso>
  8124. </element>
  8125. <element name="WriteComponentResFile"> <!-- Procedure -->
  8126. <short></short>
  8127. <descr>
  8128. </descr>
  8129. <seealso>
  8130. </seealso>
  8131. </element>
  8132. <element name="GlobalFixupReferences"> <!-- Procedure -->
  8133. <short></short>
  8134. <descr>
  8135. </descr>
  8136. <seealso>
  8137. </seealso>
  8138. </element>
  8139. <element name="GetFixupReferenceNames"> <!-- Procedure -->
  8140. <short></short>
  8141. <descr>
  8142. </descr>
  8143. <seealso>
  8144. </seealso>
  8145. </element>
  8146. <element name="GetFixupInstanceNames"> <!-- Procedure -->
  8147. <short></short>
  8148. <descr>
  8149. </descr>
  8150. <seealso>
  8151. </seealso>
  8152. </element>
  8153. <element name="RedirectFixupReferences"> <!-- Procedure -->
  8154. <short></short>
  8155. <descr>
  8156. </descr>
  8157. <seealso>
  8158. </seealso>
  8159. </element>
  8160. <element name="RemoveFixupReferences"> <!-- Procedure -->
  8161. <short></short>
  8162. <descr>
  8163. </descr>
  8164. <seealso>
  8165. </seealso>
  8166. </element>
  8167. <element name="RemoveFixups"> <!-- Procedure -->
  8168. <short></short>
  8169. <descr>
  8170. </descr>
  8171. <seealso>
  8172. </seealso>
  8173. </element>
  8174. <element name="FindNestedComponent"> <!-- Function -->
  8175. <short></short>
  8176. <descr>
  8177. </descr>
  8178. <seealso>
  8179. </seealso>
  8180. </element>
  8181. <element name="BeginGlobalLoading"> <!-- Procedure -->
  8182. <short></short>
  8183. <descr>
  8184. </descr>
  8185. <seealso>
  8186. </seealso>
  8187. </element>
  8188. <element name="NotifyGlobalLoading"> <!-- Procedure -->
  8189. <short></short>
  8190. <descr>
  8191. </descr>
  8192. <seealso>
  8193. </seealso>
  8194. </element>
  8195. <element name="EndGlobalLoading"> <!-- Procedure -->
  8196. <short></short>
  8197. <descr>
  8198. </descr>
  8199. <seealso>
  8200. </seealso>
  8201. </element>
  8202. <element name="CollectionsEqual"> <!-- Function -->
  8203. <short></short>
  8204. <descr>
  8205. </descr>
  8206. <seealso>
  8207. </seealso>
  8208. </element>
  8209. <element name="ObjectBinaryToText"> <!-- Procedure -->
  8210. <short></short>
  8211. <descr>
  8212. </descr>
  8213. <seealso>
  8214. </seealso>
  8215. </element>
  8216. <element name="ObjectTextToBinary"> <!-- Procedure -->
  8217. <short></short>
  8218. <descr>
  8219. </descr>
  8220. <seealso>
  8221. </seealso>
  8222. </element>
  8223. <element name="ObjectResourceToText"> <!-- Procedure -->
  8224. <short></short>
  8225. <descr>
  8226. </descr>
  8227. <seealso>
  8228. </seealso>
  8229. </element>
  8230. <element name="ObjectTextToResource"> <!-- Procedure -->
  8231. <short></short>
  8232. <descr>
  8233. </descr>
  8234. <seealso>
  8235. </seealso>
  8236. </element>
  8237. <element name="LineStart"> <!-- Function -->
  8238. <short></short>
  8239. <descr>
  8240. </descr>
  8241. <seealso>
  8242. </seealso>
  8243. </element>
  8244. <!-- Template for copy&paste:
  8245. <element name="">
  8246. <short>
  8247. </short>
  8248. <descr>
  8249. </descr>
  8250. </element>
  8251. -->
  8252. </module>
  8253. </fpdoc-descriptions>