¸®½À °­Á - dll ÇÔ¼öÀÌ¿ëÇϱâ-³­¼ö¹ß»ý,ÇÑ¿µÅ°Àüȯ,ÆÄÀÏã±â.


º» °­Á´ ¾ÆÅ°¿ÀÇǽº(±èÈñÅÂ)¿¡ ÀÇÇØ ¸¸µé¾î Á³À¸¸ç ¾î¶°ÇÑ À¥À̳ª
ÃâÆÇ¹°¿¡ ¾ÆÅ°¿ÀÇǽº(±èÈñÅÂ)ÀÇ µ¿ÀǾøÀÌ ¿Ã¸®´Â °ÍÀ» Çã¶ôÇÏÁö ¾Ê½À´Ï´Ù.

 


ÀÌ ÇÔ¼ö´Â dll À» ÀÌ¿ëÇÏ´Â ÇÔ¼ö·Î

dll ÀÇ ³»ºÎÇÔ¼ö·Î °ªÀ» º¸³»°í °á°ú°ªÀ» ¸®ÅÏ ¹Þ´Â Çü½ÄÀÔ´Ï´Ù.

vl-random Àº µÎ¼ö»çÀÌ¿¡ ³­¼ö¸¦ ¹ß»ýÇÏ¿© ¸®ÅÏÇÕ´Ï´Ù.

vl-IMEmode Àº ÇÑ¿µÅ°¸¦
t ÀÌ¸é ¿µ¹®À¸·Î ÀüȯÇϰí nil À̸é Çѱ۷ΠÀüȯÇÕ´Ï´Ù.

vl-findfiles Àº ƯÁ¤ µð·ºÅ丮ÀÇ ÇϺεð·ºÅ丮±îÁö

Æ÷ÇÔÇÏ¿© ÆÄÀÏ(¿ÍÀϵåÄ«µå Æ÷ÇÔ)À» ã¾Æ ¸®ÅÏÇÕ´Ï´Ù.

ÀÌ ÇÔ¼öµéÀ» ½ÇÇàÇÏ·Á¸é ¿ì¼± ÇØ´ç DLL À» ´Ù¿î¹Þ¾Æ ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇØ¾ß ÇÕ´Ï´Ù.


¼³Ä¡ÇÏ´Â ¹æ¹ýÀº ¾Æ·¡³»¿ëÀ»ÂüÁ¶ Çϼ¼¿ä.



(vl-random 10 1) => 10 °ú 1 »çÀÌÀÇ ³­¼ö¸¦ ½Ç¼ö·Î ¸®ÅÏÇÑ´Ù.

(vl-imemode t) => t À̸é ÇÑ¿µÅ°¸¦ ¿µ¹®À¸·Î nil À̸é Çѱ۷ΠÀüȯÇÑ´Ù.

(vl-findfiles °æ·Î ÆÄÀϸí) => ÇϺεð·ºÅ丮±îÁö °Ë»öÇÏ¿© ãÀº °æ·Î¸¦ ¸®½ºÆ®·Î ¸®ÅÏÇÑ´Ù.

(vl-findfiles "c:\\program files" "ac*.exe")

=>("C:/Program Files/ACAD2000/acad.exe"
"C:/Program Files/ACDSee32/ACDSee32.exe"
"C:/Program Files/AutoCAD LT 2000/aclt.exe"
"C:/Program Files/AutoCAD R14/acad.exe"
"C:/Program Files/Adobe/Acrobat 4.0/Reader/AcroRd32.exe"
"C:/Program Files/Microsoft Visual Studio/Vfp98/Distrib.src/Setup/ACMSETUP.EXE")





DLL ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÏ´Â ¹æ¹ý!!

ijµå¸¦ ½ÇÇàÇϱâ Àü¿¡ À©µµ¿ìÀÇ ½ÃÀÛ -> ½ÇÇà À» Ŭ¸¯ÇÑ´Ù.



¾Æ·¡ ±×·¡±×¸²°ú °°ÀÌ regsvr32 ·Î DLL À» ½Ã½ºÅÛÀÌ µî·ÏÇÑ´Ù.
°æ·Î´Â dll ÀÌ À§Ä¡ÇÑ °÷À¸·Î ÇÏ¸é µÈ´Ù.



ijµå¸¦ ½ÇÇàÇϰí ÀÌ ÇÔ¼ö¸¦ ½ÇÇàÇÏ¸é µÈ´Ù. dll µî·ÏÀº Çѹø¸¸ ÇÏ¸é µÈ´Ù.

ÄÚµå



  (defun vl-random (a b / acad srve reval)
    (cond
      ((= a b) nil)
      ((not (or (= 'INT (type a)) (= 'REAL (type a)))) nil)
      ((not (or (= 'INT (type b)) (= 'REAL (type b)))) nil)
      (t
       (vl-load-com)
       (setq acad (vlax-get-acad-object))
       (setq srve (vlax-invoke acad "getinterfaceobject" "rnd_ff_ime.clarandom"))
       (setq reval (vlax-invoke srve "vl_random" a b))
       (if (= 0 reval) nil reval)
      )
    )  
  )

  (defun vl-IMEmode (a / acad srve reval)
    (vl-load-com)
    (setq acad (vlax-get-acad-object))
    (setq srve (vlax-invoke acad "getinterfaceobject" "rnd_ff_ime.clarandom"))
    (if a
      (setq reval (vlax-invoke srve "vl_IMEmode" 1))
      (setq reval (vlax-invoke srve "vl_IMEmode" 0))
    )  
  )

  (defun vl-findfiles (a b / acad srve reval)
    (cond
      ((not (= 'STR (type a))) nil)
      ((not (= 'STR (type b))) nil)
      ((not (vl-directory-files a nil -1)) nil)
      (t
       (vl-load-com)
       (setq acad (vlax-get-acad-object))
       (setq srve (vlax-invoke acad "getinterfaceobject" "rnd_ff_ime.clarandom"))
       (setq reval (vlax-invoke srve "vl_findfile" a b))
       (if (= 0 reval) nil reval)
      )
    )  
  )

¼³¸í


  ;; ³­¼ö¸¦ ¹ß»ýÇÏ´Â ÇÔ¼ö´Ù.  a ¿Í b »çÀÌ¿¡ ³­¼ö¸¦ ¹ß»ýÇÏ¿© ½Ç¼ö¸¦ ¸®ÅÏÇÑ´Ù.
  (defun vl-random (a b / acad srve reval)
    (cond
      ;; a b °¡ °°°Å³ª ¼ýÀÚ°¡ ¾Æ´Ï¶ó¸é ³¡³½´Ù.
      ((= a b) nil)
      ((not (or (= 'INT (type a)) (= 'REAL (type a)))) nil)
      ((not (or (= 'INT (type b)) (= 'REAL (type b)))) nil)
      (t
       (vl-load-com)
       (setq acad (vlax-get-acad-object))
       ;; dll ÇÔ¼ö¸¦ °¡Á®¿Í 
       (setq srve (vlax-invoke acad "getinterfaceobject" "rnd_ff_ime.clarandom"))
       ;; dll ÀÇ ³»ºÎÇÔ¼ö vl_random À» ½ÇÇàÇÏ¿© °á°ú°°À» ¸®ÅϹ޴´Ù.
       (setq reval (vlax-invoke srve "vl_random" a b))
       ;; °á°ú°ªÀÌ ÀÖ´Ù¸é °ªÀ» ¸®ÅÏÇÑ´Ù.
       (if (= 0 reval) nil reval)
      )
    )  
  )

  ;; ÇÑ,¿µÅ°¸¦ Àüȯ ÇÔ¼ö´Ù. 
  (defun vl-IMEmode (a / acad srve reval)
    (vl-load-com)
    (setq acad (vlax-get-acad-object))
    ;; dll ÇÔ¼ö¸¦ °¡Á®¿Í 
    (setq srve (vlax-invoke acad "getinterfaceobject" "rnd_ff_ime.clarandom"))
    ;; ³»ºÎÇÔ¼ö vl_IMEmode ¸¦ ½ÇÇàÇÏ¿© a °¡ t ÀÌ¸é ¿µ¹®À¸·Î ÀüȯÇϰí nil À̸é Çѱ۷ΠÀüȯÇÑ´Ù.
    (if a
      (setq reval (vlax-invoke srve "vl_IMEmode" 1))
      (setq reval (vlax-invoke srve "vl_IMEmode" 0))
    )  
  )

  ;; ÆÄÀÏÀ» ã´Â ÇÔ¼ö´Ù. a ´Â ãÀ» µð·ºÅ丮, b ´Â ãÀ» ÆÄÀÏÀ̸§(¿ÍÀϵå Ä«µåÆ÷ÇÔ)
  (defun vl-findfiles (a b / acad srve reval)
    (cond
      ;;  a,b °¡ ¹®ÀÚ°¡ ¾Æ´Ï°Å³ª a µð·ºÅ丮°¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é ³¡³½´Ù.
      ((not (= 'STR (type a))) nil)
      ((not (= 'STR (type b))) nil)
      ((not (vl-directory-files a nil -1)) nil)
      (t
       (vl-load-com)
       (setq acad (vlax-get-acad-object))
       ;; dll ÇÔ¼ö¸¦ °¡Á®¿Í
       (setq srve (vlax-invoke acad "getinterfaceobject" "rnd_ff_ime.clarandom"))
       ;; ³»ºÎÇÔ¼ö vl_findfile ¸¦ ½ÇÇàÇÏ¿© °á°ú¸¦ ¸®ÅϹ޴´Ù. °á°ú°¡ ¾ø´Ù¸é nil
       (setq reval (vlax-invoke srve "vl_findfile" a b))
       (if (= 0 reval) nil reval)
      )
    )  
  )