Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.03.04;
Скачать: 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 вся ветка

Текущий архив: 2012.03.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.009 c
2-1322040469
Rambo
2011-11-23 13:27
2012.03.04
Быстрое сохранение текста


4-1254841791
intlex
2009-10-06 19:09
2012.03.04
как определить владельца мьютекса (mutex owner)


2-1322482246
Scott Storch
2011-11-28 16:10
2012.03.04
проверка на nil


2-1322269435
Vyacheslav
2011-11-26 05:03
2012.03.04
Получить результат выполнения команды консоли?


2-1322210092
Laguna
2011-11-25 12:34
2012.03.04
Цвет ячейки StringGrid по условию