In a unit's implementation section or in the body of a program or library, you can declare a function or procedure before you call it by declaring the header (name, parameters, and return type) with the forward directive. Delphi compiles a file by reading from its beginning to the end.
Nevím jak to udělat, u pointerů je problém, že musíš deklarovat typ na který to odkazuje. Takže zase typ, který ještě nebyl deklarovaný.
Ještě bych potřeboval poradit. Teď jsem si uvědomil, že budu potřebovat pracovat s pointerama, abych se k sekcím dostal dynamicky. Takže potřebuju napsat funkci, která vrátí pointer.
Jak ale takovou funkci nadeklarovat?
Co chci použít je:
var pSection: ^pTRegex_sec;
pSection := getCurrentSectionPointer();
incSection(false, pSection); // zavedení první sekce
A teď vysím u té deklarace:Kód: Delphi [Vybrat]
function getCurrentSectionPointer(): ???;
Zajimave. To vypada, ze Delphi na urovni bubaku rozumi caret notation a ty jsi napsal ^S = Ctrl-S = #19
V této části když to prohlédnu v kukátku ^Sections
vidím toto: #19
Co to znamená?
Když to ladím stylem, že dám zarážku, alokuju paměť, zastavím na zarážce a pak restartuju debugger, tak dojde k "memory leak"? Protože debugger mi opakovaně padá.Ty nepoužívaš napr. FMM4? Ja bez toho neurobím pri ladení ani krok!
Ale já nemám Embarcadero DelphiNa tom vôbec nezáleží. Ja som Ti len dal príklad ako sa to má použiť. Musí to byť uvedené ako prvé. A je úplne jedno aké cesty si tam dáš!
Dík za odkaz, ale nevím kdy budu mít čas to zkoumat.Ak máš na mysli FMM4, tak tam nemáš čo skúmať.
Musím něco kompilovat?Nie.
Nápovědu k instalaci jsem nenašel.To som sa pomýlil. Mal som na mysli návod. Zvyčajne ReadMe.
Ta direktiva {$R *.dres} znamená co? To tam taky musím dát?Nie, to je odkaz na resource.
Jaktože tam máš ty soubory .dcu? Já je tam nemám a ten program je po mě chce :oProtoze delas neco spatne. Proste nekam ty soubory vybal a v .dpr souboru projektu hned za uses pridej 2 radky, ktere budou ukazovat na soubory tam, kam sis je dal a pripadne .dcu soubory smaz.
FastMM has detected GetMem call after FastMM was uninstalledA mas ty FastMM units jako prvni za uses?
Runtime error 203 at ....
Veď si urob nový projekt. V ňom si iba vytvor objekt a neuvoľň ho. Pri zatvorení projektu Ti vypíše memory leak.
Hneď budeš vedieť na čom si.
Co jsem se zatím díval do nápovědy tak jsem našel použití jen s integery, což mi ale přijde hodně neefektivní, protože když používám rozsah jen 8 bitů, tak by musel porovnávat 32 bitů na 32 bitovém systému, 64 bitů na 64 bitovém systému, což mi nedává smysl.Au to boli... za tu dobu, co nam tady vylizujes mozky a prudis uz sis taky mohl poridit nejakou ucebnici programovani :-(
Premature optimization je IMHO o co tu jde.
Funguje i s byte.Kód: Delphi [Vybrat]
if (options[0] and 4)<>0 then