![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Консольное приложение, пытаюсь создать объект TString
oracled © (2008-11-28 12:42:00)В консольном приложении пытаюсь создать объект TString для того, чтобы манипулировать многострочными частями, но почему-то не получается.
Делаю так
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows,
Forms,
Dialogs,
StdCtrls,
Controls;
var
st:TString;
begin
st:= TString.Create(nil);
end.
Проблема в строке st:TString;
Пишет ошибку Undeclared identifier
Может быть компонент не подключил в Uses ?
Однако взял все компоненты из успешного консольного поекта где работает объект Tmemo, а в нём ведь фигурирует и TString
Подскажите в чём может быть загвоздка?
Anatoly Podgoretsky (2008-11-28 17:02:00) [1]> Ega23 (28.11.2008 14:20:18) [18]
По определению слова Аbstract это что то несуществующее, голая абстракция, кроме как для шаблонов не пригодно.
Ega23 (2008-11-28 14:20:00) [2]
> первое - неверно
It depends, как говорят наши вероятные противники.
Смотря что считать абстрактным классом. В Delphi, насколько мне известно, такое понятие отсутствует в принципе (т.к. можно создать экземпляр любого класса). Но с точки зрения ООП, абстрактным классом является тот, у которого есть хотя бы один абстрактный метод. Либо свой, либо не перекрытый от предков.
qqq (2008-11-28 14:03:00) [3]
> TStrings - абстрактный класс. У него масса абстактных методов,
первое - неверно
второе - верно
но из второго первое не следует
oracled (2008-11-28 13:32:00) [4]Ega23
Вот как оно всё! буду знать, спасибо :)
Ega23 (2008-11-28 13:25:00) [5]
> Ведь в принципе можно создать и объект от класса TStrings
> просто будет меньше функционала, т.к. TStringList наследует
> TStrings ?
TStrings - абстрактный класс. У него масса абстактных методов, которые перекрываются в потомках. А сделан он для удобства приведения.
На мой взгляд, это недостаток delphi - возможность создания экземпляра абстрактного класса. В каком-нибудь c++ такое компилятор не пропустил бы. Delphi тебе только warning выдаст.
Хотя, с другой стороны, у готовой программы не должно быть варнингов... :)
oracled (2008-11-28 13:23:00) [6]Сергей М
О функциональности вызова справки если встать на метод и т.п
Ну, если обычное приложение, то просто накидываем компоненты, и модули сами прописываются ,и свойства все на виду, т.е. визуально всё происходит, как-то не серьёзно :)
А так уже видно что сам всем рулишь процессом
Сергей М. (2008-11-28 13:03:00) [7]
> оказывается нужен был модуль Classes
.. и, что самое удивительное, "консольность" или "неконсольность" приложения не имеет к этому ни малейшего отношения)
Сергей М. (2008-11-28 12:56:00) [8]
> об этой функции не знал
О какой такой "функции" ?
oracled (2008-11-28 12:54:00) [9]Palladin
да я вообще об этой функции не знал, теперь, разумеется буду активно использовать.
Просто раньше с дельфи не сталкивался, всё на php и т.п. сидел, а тут задача за задачей валится, да и самому уже интересно :)
Palladin (2008-11-28 12:53:00) [10]в том числе и почему не нужно использовать TStrings
oracled (2008-11-28 12:53:00) [11]Ура, заработало :) оказывается нужен был модуль Classes
Ведь в принципе можно создать и объект от класса TStrings
просто будет меньше функционала, т.к. TStringList наследует TStrings ?
Palladin (2008-11-28 12:52:00) [12]что за неприязнь такая к кнопке F1 ? там очень много интересного написано
oracled (2008-11-28 12:50:00) [13]Palladin
Спасибо!
Palladin (2008-11-28 12:49:00) [14]TStringList + F1
там написано какой модуль
oracled (2008-11-28 12:49:00) [15]Сделал так:
var
st:TStringList;
begin
...
Всё-равно пишет ошибку, блин, недопонимаю чего-то
oracled (2008-11-28 12:47:00) [16]Сергей М.
О как!
А не подскажешь где можно почитать об этом? Может есть какая инфа на примете.
А то везде только о визуальном использовании компонентов...
oracled (2008-11-28 12:45:00) [17]ошибочка вышла, конечно же TString s:)
Однако всё равно пишет Undeclared identifier TStrings
Сергей М. (2008-11-28 12:44:00) [18]Нет такого компонента.
Есть класс объекта, и зовется он не TString, а TString s
И создавать следует не TStrings-объект, а TString List-объект.
Palladin (2008-11-28 12:43:00) [19]и что же такое TString ? откуда ты про него узнал? или сам выдумал?