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ÖÐAdoϵÁпؼþʹÓÃxxxxx.Parameters.Refresh,¿ÉÒÔ»ñµÃ´æ´¢¹ý³ÌµÄReturnÖµ
ÒÔTADOStoredProcΪÀý
ADOStoredProc1.Connection := 'xxxx';
ADOStoredProc1.ProcedureName := 'XXXX';
ADOStoredProc1.Parameters.Refresh; //ˢд洢¹ý³ÌµÄ²ÎÊýÁбí
//²ÎÊý¸³Öµ
ADO ......
½ñÌ쿪ʼÑо¿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 ......
¼¼Êõ½»Á÷,DH½²½â. ½ñÌì½øÈëÕâÊéµÚ¶þÕ ¹³×Ó(HOOK).
ÏÈ˵˵¹³×ÓÊÇʲô?
¹³×ÓÆäʵ¾ÍÔÚÄã»·¾³ÖмÓÉÏÒ»²ã¹ýÂË,ÔÚÌØÊâÇé¿öϾʹ¥·¢¹³×ӻص÷º¯Êý.
±ÈÈç˵ÎÒÃÇ°²×°ÁËÈ«¾ÖµÄ¼üÅ̹³×Ó,ÄÇôµ±ÎÒÃÇ°´¶¯¼üÅÌÉÏÃæµÄ¼üµÄʱºò,¹³×ӵĻص÷º¯Êý¾Í»á´¥·¢.
ÎÒÃÇÒ²ÄÜ¿´µ½±¾À´ÊÇÖ±À´Ö±ÍùµÄ,½á¹ûÏÖÔÚÖм䰲װÁËÒ»²ã¹ýÂË,Ï ......
µ±A D O¿ªÊ¼´¦ÀíÊý¾Ýºó£¬Ó¦ÓóÌÐò±ØÐëµÈµ½A D O´¦ÀíÍê±ÏÖ®ºó²Å¿ÉÒÔ¼ÌÐøÖ´ÐС£µ«
ÊdzýÁËͬ²½Ö´Ðз½Ê½Ö®Í⣬ A D OÒ²ÌṩÁËÒì²½Ö´Ðеķ½Ê½£¬ÔÊÐíµ±A D O´¦Àíʱ£¬
Ó¦ÓóÌÐòÈÔÈ»Äܹ»ÏȼÌÐøÖ´ÐС£¶øµ±A D O´¦ÀíÊý¾ÝÍê±ÏÖ®ºó£¬ A D O»áÒÔʼþµÄ·½
ʽ֪ͨӦÓóÌÐò£¬´ËʱӦÓóÌÐò¿ÉÒÔÔÙ¸ù¾ÝA D OÖ´ÐÐµÄ ......