ÈçºÎÈÃDelphiµ÷ÓÃÍⲿ³ÌÐò²¢µÈ´ýÆäÔËÐÐÐÅÏ¢£¨Èç½áÊø£©
º¯ÊýÒ»£º
view plaincopy to clipboardprint?
uses
Windows,
SysUtils,
Classes,
ShellAPI;
function RunAndWait(FileName: string; Visibility: Integer): THandle;
var
zAppName: array[0..512] of Char;
zCurDir: array[0..255] of Char;
WorkDir: string;
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
begin
try
StrPCopy(zAppName, FileName);
GetDir(0, WorkDir);
StrPCopy(zCurDir, WorkDir);
FillChar(StartupInfo, SizeOf(StartupInfo), #0);
StartupInfo.cb := SizeOf(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := Visibility;
if not CreateProcess(nil, zAppName, nil, nil, false, Create_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then
begin
result := 0;
Exit;
end
else
begin
WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
GetExitCodeProcess(ProcessInfo.hProcess, result);
end;
 
Ïà¹ØÎĵµ£º
3.2 Óû§µÇ¼·½°¸
ÔÚ½øÈëÒ»¸öϵͳʱ£¬±ØÐëÏÈÔڵǼ´°ÌåÖÐÊäÈëÕýÈ·µÄÓû§ÃûºÍÃÜÂë²ÅÄܽøÈë¡£ÕâÑù¿ÉÒÔÈ·±£ÏµÍ³µÄ°²È«ÐԺͱ£ÃÜÐÔ£¬µÇ¼´°ÌåµÄÖÆ×÷°´ÕÕϵͳµÄ´óС¼°Óô¦£¬¿ÉÒÔ·ÖΪ²»Í¬µÄµÇ¼´°ÌåÑùʽ£¬ÔÚϵͳµÚÒ»´ÎµÇ¼ǰ£¬Ê×ÏÈÒª¶Ô²Ù×÷Ô±ÐÅÏ¢½øÐÐÏàÓ¦µÄÉèÖᣱ¾½Ú½«¶ÔµÇ¼´°Ìå¼°²Ù×÷Ô±¹ÜÀí´°ÌåµÄÖÆ×÷¹ý³Ì½øÐÐÏêϸµÄ˵Ã÷ ......
ÎÒÃÇÄÜ¿´µ½ÒÔÏ´úÂë
var pSource,pDest:PChar;
len: integer;
.......................//һЩ´úÂë
Move(pSource,pDest,len); //´íÎó
Move(pSource^,pDest^,len); //ÕýÈ·
¿´ÆðÀ´È·ÊµºÃÏñÊÇ´«Öµ£¬¶ø²»ÊÇ´«µØÖ·£¬µ«ÊǸ÷λ±ðÍüÁË£¬Õâ²»ÊÇC£¬C++£¬¶øÊÇDelphi
Object Pascal,ËùÒÔ£¬¾ø²»ÄÜ´Óº¯Êýµ ......
Ò» DllµÄÖÆ×÷Ò»°ã²½Öè
¶þ ²ÎÊý´«µÝ
Èý DLLµÄ³õʼ»¯ºÍÍ˳öÇåÀí[Èç¹ûÐèÒª³õʼ»¯ºÍÍ˳öÇåÀí]
ËÄ È«¾Ö±äÁ¿µÄʹÓÃ
Îå µ÷Óþ²Ì¬ÔØÈë
Áù µ÷Óö¯Ì¬ÔØÈë
Æß ÔÚDLL½¨Á¢Ò»¸öTForM
°Ë ÔÚDLLÖн¨Á¢Ò»¸öTMDIChildForM
¾Å ʾÀý£º
Ê® DelphiÖÆ×÷µÄDllÓëÆäËûÓïÑԵĻìºÏ ......
delphiÖÐSynchronizeÕâ¸ö¶«¶«ÓÐʲôÓã¿ÎÒÖªµÀÊÇÏß³Ìͬ²½Ê¹ÓõÄ
ÊÇ·ñÊÇÒ»¸öº¯Êý»ò±äÁ¿£¬µ±Ò»¸öÏß³ÌÔÚʹÓÃʱ£¬Èç¹ûÕâ¸öº¯ÊýʹÓÃÁËSynchronizeÐÞîߵϰ¾Í²»ÔÊÐí±ðÒ»¸öÏß³ÌÀ´µ÷ÓÃÕâ¸öº¯Êý
1Â¥£º±ðµÄÏ̻߳áµÈ´ý¸Ã²Ù×÷Íê³Éºó²ÅÄܼÌÐø
2Â¥£ºÄã˵µÄ»ù±¾ÊÇÕâ¸öÒâ˼¡£ËüµÄÄ¿µÄÊDZÜÃâ¶à¸ö×ÓÏß³Ìͬʱ·ÃÎÊÖ÷Ïß³Ì×ÊÔ´¡£
ʾÀý£º
......
DelphiÖÐÓÐÒ»¸öÏß³ÌÀàTThreadÊÇÓÃÀ´ÊµÏÖ¶àÏ̱߳à³ÌµÄ£¬Õâ¸ö¾ø´ó¶àÊýDelphiÊé½å¶¼ÓÐ˵µ½£¬µ«»ù±¾É϶¼ÊǶÔTThreadÀàµÄ¼¸¸ö³ÉÔ±×÷Ò»¼òµ¥½éÉÜ£¬ÔÙ˵Ã÷Ò»ÏÂExecuteµÄʵÏÖºÍSynchronizeµÄÓ÷¨¾ÍÍêÁË¡£È»¶øÕâ²¢²»ÊǶàÏ̱߳à³ÌµÄÈ«²¿£¬ÎÒд´ËÎĵÄÄ¿µÄÔÚÓÚ¶Ô´Ë×÷Ò»¸ö²¹³ä¡£
Ï̱߳¾ÖÊÉÏÊǽø³ÌÖÐÒ»¶Î²¢·¢ÔËÐеĴú ......