我编译的画椭圆的语句为:
        Canvas.Ellipse(153,g2,170,g1);
        Canvas.Ellipse(216,h1,233,h2);
        Canvas.Ellipse(279,g2,296,g1);
        Canvas.Ellipse(342,h1,359,h2);
        Canvas.Ellipse(405,g2,422,g1);
        Canvas.Ellipse(468,h1,485,h2);
出现了以下的错误提示:
[Error] Unit2.pas(82): There is no overloaded version of 'Ellipse' that can be called with these arguments
[Error] Unit2.pas(83): There is no overloaded version of 'Ellipse' that can be called with these arguments
[Error] Unit2.pas(84): There is no overloaded version of 'Ellipse' that can be called with these arguments
[Error] Unit2.pas(85): There is no overloaded version of 'Ellipse' that can be called with these arguments
[Error] Unit2.pas(86): There is no overloaded version of 'Ellipse' that can be called with these arguments
[Error] Unit2.pas(87): There is no overloaded version of 'Ellipse' that can be called with these arguments
[Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit2.pas'
      我是刚学这个软件的。请问怎样改正!!!

解决方案 »

  1.   

    你的g1、g2这样的变量是什么类型的?是Integer么?
      

  2.   

    你前面有没有指明是用谁的canvas啊,比如form或image啊。
      

  3.   

    g1,g2都是integer,canvas用的是form
      

  4.   

    g1:=trunc(160+f-8);
            g2:=trunc(g1-17);
            h1:=trunc(160-f+8);
            h2:=trunc(h1+17);
      

  5.   

    你把Canvas.Ellipse后面的变量用常量代替调试一下我试了你的程序没有问题
      

  6.   

    显然是你的那个变量的值并不是Integer类型
    你把六个Canvas.Ellipse只留下一个,其余的注释掉,一个一个的调试就知道是哪个变量的问题了
      

  7.   

    是不是你定义的f不是Integer类型的?