Вниз
Скачать: CL | DM;

Использованние TMemo не для визуального компонента   Найти похожие ветки 

← →
Vyacheslav   (2011-11-28 00:14) [0]

Здравствуйте.
Есть необходимость использовать TMemo как переменную для временного хранения буфера работы консольной программы.

Как в Delphi создать экземпляр не визуального обьекта динамически?

Самое простое, что приходит на ум... Обьявляю в глобальных переменных
var tM: TMemo;
...
затем
tM.Lines.Add("Hello");

Вылетает ошибка
Project Project1.exe raised exception class EAccessViolation with message "Access Violation at address 004628AE" in module "Project1.exe". Read of address 00002020".Process stopped.
Use Step or Run to continue.


Как я понял, надо что-то типа
var tM := new TMemo или create ... ;


← →
Jeer ©   (2011-11-28 00:15) [1]


> Vyacheslav   (28.11.11 00:14)
>
> Здравствуйте.


Госпидя.. до свидания. :)
Мемо-то зачем в консольной программе ?


← →
Vyacheslav   (2011-11-28 00:27) [2]

Программа не консольная.

Некая процедура отдаёт данные параметру с типом TMemo
Визуальн он не нужен в релизе.


← →
Amoeba_   (2011-11-28 00:40) [3]

Нафига в данном случае TMemo? Чем TStringList не устроил?


← →
Vyacheslav   (2011-11-28 00:53) [4]

Вобщем, всё верно, я не тот тип исаользую...
Процедура возвращает TStrings. Значит будем пробовать его.

Как заставить работать подобный код:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 tS: TStrings;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 tS.Create;
 tS.Clear;
 tS.Append("Hello!");
 Form1.Caption := tS.Strings[0];
 tS.Destroy;
end;

end.


← →
Jeer ©   (2011-11-28 01:01) [5]


> Как заставить работать подобный код:


Начни с самого начала  - четкая постановка твоей задачи.
Ответ четкий - получишь, факт.


← →
Vyacheslav   (2011-11-28 01:03) [6]

var
tS: TStrings;

Как присвоить tS хоть что угодно?!


← →
Германн ©   (2011-11-28 01:04) [7]


> Процедура возвращает TStrings. Значит будем пробовать его.

Ну когда начнём читать учебники? Тип TStrings абстрактный!
Хотя не читая учебники и/или хелп этого не понять.
Но в [3] тебе уже почти прямо сказали какой класс нужно использовать.


← →
Jeer ©   (2011-11-28 01:05) [8]

ts := TStringList.Create;
...
ts.Add("Hello World !");
..

Caption := ts[0];

..
ts.Free;

// Зачем такие изыски, вот скажи ?


← →
Германн ©   (2011-11-28 01:32) [9]


> Jeer ©   (28.11.11 01:05) [8]

И что это ты сего дни такой добрый, тёзка? Даже про свой ник забыл.
:)


← →
Плохиш ©   (2011-11-28 01:45) [10]


> Ну когда начнём читать учебники?

Э, дарагой, чë, не знаш, шо они для лохов писаны?


← →
Плохиш ©   (2011-11-28 01:46) [11]


> Vyacheslav   (28.11.11 01:03) [6]

Зачем оно тебе, это программирование?


← →
KilkennyCat ©   (2011-11-28 01:47) [12]

public
    tS: TStrings;
 end;

var
 Form1: TForm1;

ибо не хрен.


← →
Anatoly Podgoretsky ©   (2011-11-28 09:38) [13]


>  Использованние TMemo не для визуального компонента [D7,
>  2003]
var tM: TMemo;
...
затем
tM.Lines.Add("Hello");

А ошибка наверно в трех точках.


← →
Омлет ©   (2011-11-28 10:54) [14]

Какая-то мода пошла, форум использовать в качестве учебника..


← →
Sha ©   (2011-11-28 11:35) [15]

то ли еще будет


← →
Anatoly Podgoretsky ©   (2011-11-28 12:00) [16]

Нас не запугаешь.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.005 c
1-1287596219
MAcKZloy
2010-10-20 21:36
2012.03.04
XmlDocument и теги


3-1271337869
Андрей Пл
2010-04-15 17:24
2012.03.04
компонент ComboBoх с отфильтрованным выпадающим списком


6-1252514641
ramin
2009-09-09 20:44
2012.03.04
Хочу узнать имена компьютеров в локальной сети


2-1322202217
Dennis I. Komarov
2011-11-25 10:23
2012.03.04
D2010 string -> AnsiString


15-1320746965
Витя
2011-11-08 13:09
2012.03.04
Я старею , или нет?




   Наверх