Форум: "Основная";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];
ВнизГлюк Delphi 7 с TStringGrid ом У вас также? Как с этим бороться ? Найти похожие ветки
← →
Кен (2003-12-18 01:49) [0]Текст юнита :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i, i1 : Integer;
s : String;
begin
StringGrid1.Cells[2, 1] := "asdf";
for i := 0 to StringGrid1.RowCount -1 do begin
for i1 := 0 to 2 do begin
s := StringGrid1.Cells[i1, i];
s := Form1. // Когда ставим тут точку, возникает ошибка
end;
end;
end;
end.
Текст формы :
object Form1: TForm1
Left = 263
Top = 113
Width = 870
Height = 640
Caption = "Form1"
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = "MS Sans Serif"
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object StringGrid1: TStringGrid
Left = 32
Top = 16
Width = 320
Height = 120
TabOrder = 0
end
object Button1: TButton
Left = 32
Top = 160
Width = 75
Height = 25
Caption = "Button1"
TabOrder = 1
OnClick = Button1Click
end
end
Стоит поставить точку после слова Form1, и получаю сообщение об ошибке : Access violation at address 00B5574F in module DCC70.DLL
После этого юнит переводится в режим ReadOnly . Я не понимаю, а в чём ошибка то ? Как её исправить ?
← →
Бушин Сергей (2003-12-18 05:50) [1]А причем тут StringGrid. попробуй self.
← →
Кен (2003-12-18 07:25) [2]
> Бушин Сергей © (18.12.03 05:50) [1]
> А причем тут StringGrid. попробуй self.
Не понял. Где self ?
Понятно, если переписать весь код как нибудь подругому, то можно добиться, чтобы заработало. Но хотелось бы, чтобы работал именно этот код. Раз ошибок нет, то почему не работает ?
← →
alex_*** (2003-12-18 09:12) [3]Ошибка-то не в исполняемом коде, а в инспекторе объектов, я думаю. Попробуй переоткрыть проект или перезапустить Delphi. И вместо Form1 лучше действительно использовать self, или сразу писать нужный метод, поскольку ты находишься в том же классе, что и вызываемый метод.
← →
имя (2003-12-19 01:30) [4]Удалено модератором
← →
Кен (2003-12-20 02:23) [5]
> alex_*** (18.12.03 09:12) [3]
> Попробуй переоткрыть проект или перезапустить Delphi.
Пробовал. Много раз.
> вместо Form1 лучше действительно использовать self
Это не только с Form1, а с любым компонентом. После постоновки точки возникает эта ошибка.
← →
Бушин Сергей (2003-12-20 06:16) [6]Я только что проверил, нет ни какой ошибки. Возможно, что-то ты делаешь не так.
Вообще то DCC70 это сам компилятор. Попробуй побаловаться настройками. Что-то выкл, а затем опять включи и наоборот.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c