Delphi 7 µÄÒ»¸öÆæ¹ÖµÄBug
½üÀ´·¢ÏÖÒ»¸öDelphiĪÃûÆäÃîµÄbug£¬µ±Ê¹ÓÃSetOptionalParamʱ£¬²»ÄÜʹÓÃÒ»Á¬´®Êý×ÖµÄ×Ö·û´®£¬Èç'101'£¬×¢Ò⣬ÊÇ´øÒýºÅµÄ¡£ÔÚSaveToFileʱ£¬¾Í»á³öÏÖ'Invalid field type'µÄÒì³££¬ÕæÊÇ°Ù˼²»µÃÆä½â£¡Á¬'001'ÕâÖÖ´®Ò²²»ÐУ¬È¥µôÒýºÅ£¬Ö±½Ó°´Êý×Ö¸³Öµ£¬ÔòÕý³£¡£
procedure TForm1.Button1Click(Sender: TObject);
var
cds:TClientDataSet;
begin
cds:=TClientDataSet.Create(nil);
with cds do
begin
FieldDefs.Add('f1',ftString,50);
CreateDataSet;
end;
cds.SetOptionalParam('ppppp','101');
cds.SaveToFile('c:\sss.dat'); //³öÏÖÒì³££ºInvalid field type!£¬°Ñ101¸ÄΪabc£¬Õý³£
cds.Free;
end;
Ïà¹ØÎĵµ£º
ÔÚDelphiÖÐ,Inifilesµ¥ÔªÖÐÓÐÒ»¸öTStringHashµÄÀ࣬²»¹ýËüµÄValue½öÖ§³ÖInteger(ÆäʵҲ²»ÊÇÎÊÌ⣬ÓÐÆäËüÀàÐÍ¿ÉÒÔ½«±äÁ¿±äΪPointer)£¬Óе㲻Êæ·þ£¬½ñÌìûÊÂ×ö¾Í°ÑËüÌ滻ΪvariantÁË£¬ÆäÖÐKeyµÄÃû³Æ´óСдÎ޹أ¬¾ÍÊÇΪÁ˼ӿ쿪·¢Ëٶȣ¡
ʹÓÃHashtable,²éÕÒºÍɾ³ý¸´ÔӶȶ¼Êdz£Êý¼¶±ðµÄ!
type
PPHashItem = ^PHashItem;
......
¡¡¡¡DelphiÓïÑÔ£¬ÎÞÂÛÊÇ´Ó¿ª·¢Ëٶȡ¢»¹ÊÇÔËÐÐËٶȡ¢»¹ÊDZàÒëËٶȡ¢»¹ÊDZàÒëÖ®ºóµÄÖ´ÐÐÎļþÌå»ý£¬¶¼ÊÇÊýÒ»Êý¶þµÄ¡£Òò´Ë±»×÷Ϊ¹²ÏíÈí¼þ¡¢¿ª·¢²úÆ·¡¢ÖÆ×÷“ÂÌÉ«Èí¼þ”µÄÊ×Ñ¡¡£µ«ÊÇ£¬ÓÉÓÚÖî¶àÔÒò£¬DelphiÖУ¬ÓÐһЩ¿Ø¼þ£¬´æÔÚһЩbug¡£²»ÂÛ¹ã´ó¼¼ÊõÈËÔ±ÈçºÎ·´Ó¦£¬Delphi¹Ù·½¾ÍÊÇ“ÊÓ¶ø²»¼û”¡£ÓÐÎÊÌ⣬È˼ ......
½ñÌ쿪ʼÑо¿FastReport¡£
ÒÔÏÂÊǶ¯Ì¬´´½¨FASTREPORTµÄDEMO
var
Page: TfrxReportPage;
Band: TfrxBand;
DataBand: TfrxMasterData;
Memo: TfrxMemoView;
begin
{ clear a report }
frxReport1.Clear;
{ add a dataset to the list of ones accessible for a report }
frxReport1.DataSets.Add(frxDB ......
ÔÚÍøÉÏÒ²¿´µ½ÁËһЩÌáÉý½ø³ÌÁîÅƵĺ¯Êýµ«¶¼²»ÔõôºÃÓÃ,×îºóÎÒ»¹ÊÇ´ÓÒ»¸öºÚ¿ÍºóÃųÌÐòµÄÔ´´úÂëÖÐÌáÈ¡³öÁËÒ»¸öºÃµÄÌáÉý½ø³ÌÁîÅƵĺ¯Êý,²»¸Ò¶ÀÏí,¸ú´ó¼Ò·ÖÏíÏÂ.ÄǸöºóÃÅÕæµÄдµÄºÜºÃ...
HysiaÌáʾÄã:
Õâ¸öº¯ÊýÓÃÔÚ¶Ô¸¶²¡¶¾µÄ³ÌÐòÖÐЧ¹ûºÜºÃ,Ö»ÓÐÌáÉý×ÔÉíȨÏÞ²ÅÄÜKILLµô²¡¶¾½ø³ÌÎÒÔøдд³öÀ´³¢ÊÔ½áÊøWinlogon½ø³Ì,µ¼ÖµĽṠ......
£®pas ---- pascalµÄËõд, µ¥ÔªÔʼ³Ìʽµµ£¨ unit source files £©
£®dpr ---- ר°¸µµ ( project files )
£®dpk ---- °ü¹üÔʼ³Ìʽµµ/×é¼þ°ü ( package source files )
£®dfm ---- ±íµ¥µµ (¼Ç¼formµÄÄÚÈÝ,³ýÈ¥Õâ¸öÄÚÈݾ͵ÈÓÚɾ³ýÁËformÕâ¸ö±íµ¥)
£®dcu ---- ÊDZàÒëºÃµÄµ¥ÔªÎļþ.ÈôÖ»ÓÐÒ»¸ödcuÎļþ,Ôò²»ÄÜ¿´µ½Ô´´úÂë.
......