前不久,我去广州的一个公司面试delphi程序员,其中有几个问题,我记下了:1.xml文件的组成 ?2.windows采用了哪些方式完成线程之间的通信;?
3.私有域和方法的目的是什么?4.在FROM 的ACTIVE 事件中,
 要求一个循环,在屏幕上随机的位置上用不同的颜色,连续画线。谢谢回复!

解决方案 »

  1.   

    1. 只有domain和node,attribute的概念
    2. 线程通信?同一进程的所有线程直接共享地址空间,没什么好通信的。不同进程间的线程通信跟进程间通信方式一样,如内存映射文件,命名管道,TCP/IP等等。其实我怀疑此题是想问线程同步方式的,这就有Event,Mutex,Semaphore等。
    3 封装
    4 Randomize,Random,TCanvas.LineTo
      

  2.   

    1、Xml就是个数据灵活存储区,都是些标签。
    2、每个线程都是共享进程的内存地址。而楼上说的内存映射这只是在进程与进程之间共享通信的手段。
    3、上面回答的封装提高安全性。
    4、完全赞同楼上说法。也就用到这些函数Randomize,Random,TCanvas.LineTo。
      

  3.   

    1.xml首先他是一个扩展标记语言,即然是扩展标记语言,使用就很灵活,用标签标识数据结构等等
    2.windows消息是线程通信的一种,另外就是楼上说的
    3.封装,对外不可见.提高私密性,安全性
    4.var
      ix,iy,i,icolor: Integer;begin
      Randomize;
      for i := 0 to Random(10000) do
      begin
        ix := Random(1000);
        iy := Random(1000);
        icolor := Random(100000);
        Canvas.Pen.Color := icolor;
        Canvas.LineTo(ix,iy);
        Update;
      end;
    end;