Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2012.03.04;
Скачать: [xml.tar.bz2];

Вниз

Использованние 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.005 c
2-1321982178
Виталий
2011-11-22 21:16
2012.03.04
Отправление писем из Delphi 7 через Outlook


15-1321182125
clickmaker
2011-11-13 15:02
2012.03.04
Баг в DMClient


2-1322479692
Gu
2011-11-28 15:28
2012.03.04
вырезать строку по длинне с вырезом в центре


2-1322338716
Крестовый туз
2011-11-27 00:18
2012.03.04
Билдер на Delphi


15-1321291140
Омлет
2011-11-14 21:19
2012.03.04
«Начинающим» отпала





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский