Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 07.10.2012
Сообщений: 29
1

Invalid pointer operation

09.03.2013, 23:41. Просмотров 900. Ответов 1
Метки нет (Все метки)


Вот dll
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
library dll;
 
uses
  SysUtils,
  Classes;
 
function peresech(x11,x12,x21,x22,y11,y12,y21,y22:extended):string; stdcall;
var
  u1,u2:extended;
  s:string;
  begin
      u1:=((x22-x21)*(y11-y21)-(x11-x21)*(y22-y21))/((y22-y21)*(x12-x11)-(x22-x21)*(y12-y11));
      u2:=((x12-x11)*(y11-y21)-(y12-y11)*(x11-x21))/((y22-y21)*(x12-x11)-(x22-x21)*(y12-y11));
      if (y22-y21)*(x12-x11)-(x22-x21)*(y12-y11)=0 then
        if ((x22-x21)*(y11-y21)-(x11-x21)*(y22-y21)=0)or((x12-x11)*(y11-y21)-(y12-y11)*(x11-x21)=0) then
 
           s:='отрезки лежат на одной прямой'
 
 
            else
 
            s:='Îòðåçêè ëåæàò íà ïàðàëëåëüíûõ ïðÿìûõ'  
 
        else
 
 
    if (u1>=0)and(u1<=1)xor(u2>=0)and(u2<=1) then s:='Îòðåçêè íå ïåðåñåêàþòñÿ';
 
 
    if (u1>=0)and(u1<=1)and(u2>=0)and(u2<=1) then
        s:='Òî÷êà ïåðåñå÷åíèÿ: ('+floattostrf((x11+u1*(x12-x11)),ffFixed,8,1)+';'+floattostrf((y11+u1*(y12-y11)),ffFixed,8,1)+')';
    result:=s;
    end;
   
  exports
  peresech;
 
{$R *.res}
 
begin
end.
Вот сама программа
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons;
 
type
  TForm1 = class(TForm)
    img1: TImage;
    edt1: TEdit;
    edt2: TEdit;
    edt3: TEdit;
    edt4: TEdit;
    edt5: TEdit;
    edt6: TEdit;
    edt7: TEdit;
    edt8: TEdit;
    lbl1: TLabel;
    lbl2: TLabel;
    lbl3: TLabel;
    lbl4: TLabel;
    lbl5: TLabel;
    lbl6: TLabel;
    lbl7: TLabel;
    lbl8: TLabel;
    btn1: TButton;
    btn2: TBitBtn;
    txt1: TStaticText;
    edt9: TEdit;
    procedure btn1Click(Sender: TObject);
    procedure edt1Change(Sender: TObject);
    procedure edt2KeyPress(Sender: TObject; var Key: Char);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 //function peresech(x11,x12,x21,x22,y11,y12,y21,y22:extended):string; stdcall;
 
var
  Form1: TForm1;
 
implementation
 function peresech(x11,x12,x21,x22,y11,y12,y21,y22:extended):string; stdcall; external'dll.dll'
{$R *.dfm}
 
 
procedure TForm1.btn1Click(Sender: TObject);
const
  mash=10;
var
  x11,x12,x21,x22,y11,y12,y21,y22,x0,y0:Integer;
  s:string;
 
begin
  //î÷èñòèòü ðèñóíîê
  img1.Canvas.Pen.Color:=clWhite;
  img1.Canvas.Rectangle(0,0,ClientWidth,ClientHeight);
  //ñ÷èòûâàåì êîîðäèíàòû
  x11:=StrToInt(edt2.Text);
  y11:=StrToInt(edt1.Text);
  x12:=StrToInt(edt3.Text);
  y12:=StrToInt(edt4.Text);
  x21:=StrToInt(edt5.Text);
  x22:=StrToInt(edt6.Text);
  y21:=StrToInt(edt7.Text);
  y22:=StrToInt(edt8.Text);
  //íàõîäèì öåíòð
  x0:=img1.Width div 2;
  y0:=img1.Height div 2;
  with img1.Canvas do
  begin
    Pen.Color:=clBlack;
    Pen.Width:=2;
    MoveTo(x0,0);
    LineTo(x0,ClientHeight);
    MoveTo(0,y0);
    LineTo(ClientWidth,y0);
    Pen.Color:=clPurple;
    Pen.width:=3;
    MoveTo((x11*mash)+x0,(-y11*mash)+y0);
    LineTo((x12*mash)+x0,(-y12*mash)+y0);
    Pen.Color:=clAqua;
    MoveTo((x21*mash)+x0,(-y21*mash)+y0);
    LineTo((x22*mash)+x0,(-y22*mash)+y0);
  end;
  s:=peresech(x11,x12,x21,x22,y11,y12,y21,y22);
  edt9.text:=s;
 
end;
 
 
procedure TForm1.edt1Change(Sender: TObject);
begin
 if (edt1.text='')or (edt2.text='') or (edt4.text='')
 or (edt5.text='') or (edt6.text='') or (edt7.text='')
 or(edt8.text='')
 then btn1.Enabled:=False
 else btn1.Enabled:=True;
end;
 
procedure TForm1.edt2KeyPress(Sender: TObject; var Key: Char);
begin
  case Key of
  '0'..'9',#8:;
  else
    key:=chr(0);
  end;
end;
end.
так вот - результат то выводится - но после этого вываливается 'Invalid pointer operation'!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2013, 23:41
Ответы с готовыми решениями:

Ошибка: Invalid pointer operation
Вот код в OnCreate: if not (label2.Caption='') and (label1.Caption='') then ...

Ошибка 'invalid pointer operation'
Я создал прогу которая делает скриншот экрана и передает её к клиенту. И у меня возникли такие...

Ошибка в DLL: 'Invalid pointer operation'
Есть DLL library proba; uses SysUtils, Classes; {$R *.res} function...

Почему программа при работе выдает ошибку 'INVALID POINTER OPERATION' и работает потом как надо?
Суть в следующем: программа генерирует задания, создает через Create панель на нее помещает...

1
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
09.03.2013, 23:46 2
Здоровущий комментарий, который IDE поместила в самом верху проекта новой DLL, - он для кого был, как думаешь ?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2013, 23:46

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

invalid variant operation
Компилятор выводит ошибку &quot;invalid variant operation&quot; и указывает на строку ...

Invalid floating operation
Помогите исправить ошибку при вычислении.Ввожу данные A и B и точность,нажимаю пуск и ошибка...

Ошибка floating point invalid operation
Разбираю код симплекс-метода. Программа не находит минимум функции. Все остальное работает...

Ошибка программы: "Invalid floating point operation"
не знаю что такое, подскажите. Project raised exception Class EInvalidOp with message &quot; Invalid...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.