delphiÖÐSynchronize
delphiÖÐSynchronizeÕâ¸ö¶«¶«ÓÐʲôÓã¿ÎÒÖªµÀÊÇÏß³Ìͬ²½Ê¹ÓõÄ
ÊÇ·ñÊÇÒ»¸öº¯Êý»ò±äÁ¿£¬µ±Ò»¸öÏß³ÌÔÚʹÓÃʱ£¬Èç¹ûÕâ¸öº¯ÊýʹÓÃÁËSynchronizeÐÞîߵϰ¾Í²»ÔÊÐí±ðÒ»¸öÏß³ÌÀ´µ÷ÓÃÕâ¸öº¯Êý
1Â¥£º±ðµÄÏ̻߳áµÈ´ý¸Ã²Ù×÷Íê³Éºó²ÅÄܼÌÐø
2Â¥£ºÄã˵µÄ»ù±¾ÊÇÕâ¸öÒâ˼¡£ËüµÄÄ¿µÄÊDZÜÃâ¶à¸ö×ÓÏß³Ìͬʱ·ÃÎÊÖ÷Ïß³Ì×ÊÔ´¡£
ʾÀý£º
procedure ServerThread.ListItemEnd; //×ÓÏ̵߳ÄÒ»¸ö·½·¨
begin
if (ListItem <> nil) then
ListItem.SubItems.Strings[3] := '´«ËÍÍê±Ï'; //ListItemÊÇÖ÷Ï̵߳ÄÒ»¸öTreeViewµÄÒ»ÐÐ
end;
procedure ServerThread.ClientExecute; //×ÓÏß³ÌÖ´ÐÐ
begin
Synchronize(ListItemEnd);
//Èç¹ûÖ±½ÓдListItemEnd£¬¿ÉÄÜ·¢Éú³åÍ»¡£
end;
—————————————————————————————————
MaximStr := '³èÈè²»¾ª£¬¿´Í¥Ç°»¨¿ª»¨Â䣬ȥÁôÎÞÒ⣻
»ÙÓþÓÉÈË£¬ÍûÌìÉÏÔÆ¾íÔÆÊæ£¬¾ÛÉ¢Èη硣';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '¼ÙÈçÉÏÊö´úÂëÖгöÏÖ“OA”µÈ×ÖÑù£¬É¾³ýËüÃÇ';
I.Desire := '¼Ó²»¼Ó·ÖËæÄã';
—————————————————————————————————
¡¡¡¡¡¡¡¡¡¡
3Â¥£ºµ±´´½¨Á˶à¸öỊ̈߳¬²¢ÇÒ¶à¸öÏ̶߳¼Òª·ÃÎÊͬһ×ÊÔ´£¬£¬¾ÍÓпÉÄܳöÏÖ»ìÂÒ£¬ÓÚÊÇÓÃSynchronizeÀ´¿ØÖÆ£¬Ê¹Í¬Ò»Ê±¼äÖ»ÓÐÒ»¸öÏß³ÌʹÓÃÄDz¿·Ö×ÊÔ´£¬Synchronize²ÎÊýÀïÃæµÄ´úÂë¾ÍÊǶàÏß³ÌÐèÒª¹«¹²µÄ´úÂ룡
4Â¥£º1¡£synchronize·½·¨µÄ²úÉúÓëvclµÄ¾ÖÏÞÐÔÓйØ,ÒòΪvcl¿Ø¼þÔÚͬһʱ¿ÌÖ»Äܱ»µ¥Ï̷߳ÃÎÊ£¬Èç¹û¶à¸öÏß³Ìͬʱ·ÃÎÊvcl,vcl»á³öÏÖÎÊÌâ¡£ËùÒÔÎÊÁ˰²È«µØ·ÃÎÊvcl,TthreadÀàÌṩÁËÒ»¸ö·½·¨½Ðsynchronize£¬Ëû¿ÉÒÔÈÃÏß³ÌÖеķ½·¨ÔÚÖ÷Ïß³ÌÖÐÖ´ÐУ¬ËùÒÔÎÒÃÇ¿ÉÒÔ°Ñ·ÃÎÊvclµÄ´úÂë¶¼·ÅÔÚÕâ¸ö·½·¨ÖУ¬È»ºóÓÉÖ÷Ïß³ÌÖ´ÐУ¬´Ó¶øÈ·±£vclÄܱ»°²È«µØ·ÃÎʵ÷ÓÃ.ËüµÄÀàÐÍÊÇTThreadMethod=procedure of object;procedure ²ÎÊý:Sychronize(Method:TThreadMethod);
2¡£µ±´´½¨Ò»¸öÏß³Ìʱ£¬vcl»áÔ
Ïà¹ØÎĵµ£º
°Ù¶ÈÖªµÀÕæÀ¬»ø£¬ÄÇô´óµÄÒ»¸öÆóÒµ£¬¾Í¸øÄÇôµã¿Õ¼ä£¬Ìá¸öÎÊ1500×ÖÏÞÖÆÁË¡£ÏëÏëÀ´csdn£¬¹ÒÁËÒ»¸öÐÇÆÚ¶¼Ã»ÈËÀí£¬²»ÖªµÀÊÇÎÒ·ÖÌ«ÉÙ£¬»¹ÊÇÕæµÄ¸ßÊÖ¶¼²»À´ÕâÀ£¿£¿ÆÚ´ýÒ»¸öÓ¢Ð۵ĵ½À´£¬²ËÄñÎÒÔÚÕâÀï°ÝлÁË£¡£¡ÆäʵÕâ¸ù±¾²»ÊÇÉúÃüÄÑÌ⣬ÎҲŸոÕѧ£¬Îʲ»³öÉúÃü¸ßÉîµÄÌâÄ¿À´£º
rT;
delphi7 ,DB:oracle
ÎÊÌâÔËÐй¤³ÌÎļþexe²» ......
Ï̵߳Ļù´¡ÖªÊ¶
Ï̵߳Ä×é³É¡£Ïß³ÌÓÐÁ½²¿·Ö×é³É¡£
1¡¢Ò»¸öÊÇÏ̵߳ÄÄں˶ÔÏ󣬲Ù×÷ϵͳÓÃËüÀ´¶ÔÏß³Ìʵʩ¹ÜÀí¡£Äں˶ÔÏóÒ²ÊÇϵͳÓÃÀ´´æ·ÅÏß³Ìͳ¼ÆÐÅÏ¢µÄµØ·½¡£
2¡¢ÁíÒ»¸öÊÇÏ̶߳ÑÕ»£¬ËüÓÃÓÚά»¤Ïß³ÌÔÚÖ´ÐдúÂëʱÐèÒªµÄËùÓк¯Êý²ÎÊýºÍ¾Ö² ......
Ò»¡¢Ê¹ÓÃÎļþÁ÷µÄ·½·¨½øÐп½±´£¬µ±È»¡£Í¬ÑùµÄµÀÀí£¬ÄãÒ²¿ÉÒÔʹÓÃÄÚ´æÁ÷µÈ·½·¨½øÐÐÎļþµÄ¿½±´£¬ÔÀíÊÇÒ»ÑùµÄ¡£
procedure copyfile(sourcefilename,targetfilename : String);
var f1, f2: tfilestream;
begin
f1 := tfilestream.Create(sourcefilename, fmopenread);
try
f2 := tfilestream ......
¿ª·¢²½Ö裺
1¡¢´´½¨ActiveX Library¹¤³Ì¡£
2¡¢´´½¨COM Object¡£
3¡¢´´½¨Type Library£¬²¢´´½¨ÏàÓ¦½Ó¿Ú¡£
4¡¢´´½¨½Ó¿Ú¶ÔÓ¦µÄº¯ÊýºÍʵÏÖ¡£
¾ßÌåÈçÏ£º
1¡¢´´½¨COM Object¡£
new|other|activeX|com object
ÔÚClass Name(±¾ÀýÀïÀàÃûÀïÌîObject£¬¿É°´×Ô¼ºÐèÒªÌîд) ÌîдÀàÃû.(Instancing:ʵÀý´´½¨·½Ê½,Threading Model:Ï ......
ÉèÓÐÒÔÏÂÈý¸ö±äÁ¿£º
var
s:string;
p:pchar;
a:array[1..20] of char;
ÄÇôÈýÕßÖ®¼äµÄת»»ÈçÏ£º
1¡¢×Ö·û´®µ½PChar
p:=PChar(s);
2¡¢PCharµ½×Ö·û´®
s:=p;
3¡¢PCharµ½×Ö·ûÊý×é
StrCopy(@a,p);
4¡¢×Ö·ûÊý×éµ½PChar
......