LINUX.ORG.RU

Lazarus в Ubutnu


1

1

Вся суть вопроса в том что когда я хочу создать событие онклик он мне вот что выдает: редактор компонента дял класса «TDeafultComponentEditor» вызвал ошибку: «Невозможно найти метод. Исправте ошибки в окне сообщений.» помогите, очень хочу программировать на линуксе...


Lazarus - не юзабелен, можно сказать он умер, а перед смертью он рыдал как девчонка..

QtCreator - попробуй!

Seraph
()
Ответ на: комментарий от ishYan

Нет конечно, это IDE для разработки на C++ с использованием фреймворка Qt. Если душу твою таки поработил дьявол(delphi) то можешь взять fpc (FreePascal) и Geany, ну и писать код ручками.

Как вариант, попробуй собрать последний, стабильный исходник лазаря, может и взлетит.

Seraph
()
Ответ на: комментарий от ishYan

Ну и тебя устраивает, что в любой момент твой проект перестанет собираться по известной только Богу причине? Дельфисты - такие дельфисты...

Seraph
()
Ответ на: комментарий от buddhist

Не нужно же.

Позволю себе поинтересоваться, что же ты считаешь нужным? Желательно отвечать без троллинга.

fat_angel ★★★★★
()
Ответ на: комментарий от fat_angel

Да даже хаскель лучше чем С++ :) Много чего нужно: C, Go, Ada, Модула, Лиспы, Форты, APL-лайки, смоллток-лайки и т.д.

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

Чистый ц не нужен нигде, кроме ядра и драйверов. Чисто обезьяний язык для лиц без абстрактного мышления. Даже кресты лучше, чем ц.

dmfd
()
Ответ на: комментарий от dmfd

Кресты — это для обезьяний язык для лиц без мышления вообще :)

Касательно C: я всегда говорю, что он не должен уходить в юзерспейс, потому что не нужно юзерспейсным программам уметь всякие слишком низкоуровневые фичи.

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

не нужно юзерспейсным программам уметь всякие слишком низкоуровневые фичи.

интересно, ты предлагаешь функционал иксов засунуть в ядро и выкинуть нахер концепцию микроядра или ты просто идиот?

anonymous
()

не слушай троллей. Сейчас freepascal - офигенный кроссплатформенный компилятор, а object pascal - приятный язык.

А насчет с++ - так вообще троллизм чистой воды...))

chinarulezzz ★★
()
Ответ на: комментарий от chinarulezzz

Сейчас freepascal - офигенный кроссплатформенный компилятор

Бинарники вменяемых размеров уже научился генерировать?

fat_angel ★★★★★
()
Ответ на: комментарий от fat_angel

Я же сказал: офигеееенный! Офигенный компилятор - офигенные бинарники! :D

P.S. Вменяемых размеров - да :) Не gcc конечно, но в порядке нормы компиляет. Хелловорда за 50KB уже нет. :)

chinarulezzz ★★
()
Ответ на: комментарий от dmfd

Ннндэ?

Чистый ц не нужен нигде, кроме ядра и драйверов.

А разработчики postfix/apache/lighttpd/gnome/gtk/berkeley db/postgresql/.../тут ещё много чего в курсе? Им докладывали? 8)))

Чисто обезьяний язык для лиц без абстрактного мышления.

Мда... Диагноз неутешителен...

mr_noone
()
Ответ на: комментарий от anonymous

Неправильно выразился. Не юзерспейс, а прикладные программы.

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

Да в том-то и прелесть С...

не нужно юзерспейсным программам уметь всякие слишком низкоуровневые фичи.

.. что не налагается ровным счётом ни каких ограничений. Что хотите, то и пишите. Язык один, а вот области применения какие только возжелается. Определяется вовсе не языком...

mr_noone
()
Ответ на: Ннндэ? от mr_noone

Мда... Диагноз неутешителен...

Мне нужны аргументы по существу. Пока поклонники pure c защищали свой ассемблер с фигурными скобочками только переходом на личности.

А разработчики postfix/apache/lighttpd/gnome/gtk/berkeley db/postgresql/.../тут ещё много чего в курсе? Им докладывали? 8)))

Большие проекты редко пишутся на небыдлокодерских языках. Просто мала вероятность найти много достаточно толковых людей, а обезьянок без абстрактного мышления всегда хватает.

dmfd
()
Ответ на: комментарий от buddhist

И что?

Могу только заметить что ещё лет 30-40 С будет весьма актуален. Подождём ядрышка на чём-нибудь отличном от С. Правда, помнится, был эксперимент по созданию ОС на С++ (я про Psion, позже Symbian), но по-моему, его закопали, не? :)

mr_noone
()
Ответ на: комментарий от dmfd

Не вопрос... Только ответтье на мои вопросы, чтобы мне было легче... :)

Мне нужны аргументы по существу.

Как Вы думаете — почему на С++ для ядра модули не пишут? Как Вы думаете — ООП в общем и целом предполагает наличие абстрактного мышления?

Большие проекты редко пишутся на небыдлокодерских языках.

А это какие? По Вашему мнению?

Просто мала вероятность найти много достаточно толковых людей, а обезьянок без абстрактного мышления всегда хватает.

Т.е., по-вашему, то чем Вы пользуетесь (в данном случае мы находимся на сайте, созданном на базе Apache/Tomcat, если не ошибаюсь), написано обезьянками? Без абстрактного мышления? :)

mr_noone
()
Ответ на: комментарий от Seraph

Ну да...

Только они (Кармаки всяческие) об этом и не знают, по этой простой причине и пишут работоспособные продукты, которыми уважаемые анал-итики лора соизволяют (так уж и быть) по-пользоваться.

/* Я понимаю — в чём-то это «спердоб», но всё же... :) */

mr_noone
()

ООП в общем и целом предполагает наличие абстрактного мышления?

ООП заставляет оперировать не байтами, а чёрными ящиками. Да, это уже абстракция. Что касается метапрограммирования, так оно и вовсе позволяет обобщать целые алгоритмы.

В си невозможно отвязать алгоритм ни от типов данных (нет шаблонов), ни от каких-то его составных частей (нет функций высшего порядка).

dmfd
()
Ответ на: комментарий от dmfd

Ндэээ?

«А мужики-то не знают...» :)

Вот не зря я про ядрышко помянул вкупе с С. Нате — самый яркий пример ООП в ядре и, о ужас, на гольном С — http://www.tebyan.net/index.aspx?pid=31159&BookID=23757&PageIndex=111...

ООП заставляет оперировать не байтами, а чёрными ящиками.

Да сколько угодно! Я повторяю ещё раз — С ни кого не заставляет оперировать только «чёрными ящиками» или только байтами. Ну нате Вам ещё примера ради — http://www.thejach.com/view/2010/1/oop_in_c_with_function_pointers_and_structs

В си невозможно отвязать алгоритм ни от типов данных (нет шаблонов),

Нууу.... Суууударь! Зачем же так-то? Что, не соизволили для себя открыть ADT (advanced data types)? А знаете (например) где притаилась реализация linked list'а? Аж в ядре... О как! http://isis.poly.edu/kulesh/stuff/src/klist/ Решает довольно специфичные задачи, но всё же...

Или вот Вам ещё пища для размышлений...

#include <stdio.h>

#define SWAP(a, b) do { typeof(a) temp = a; a = b; b = temp; } while (0)

int main( int argc, char *argv[]) {
    int a = 5, b = 6;
    float x = 3.0f, y = 4.0f;
    char *p1 = "Hello";
    char *p2 = "World";

    SWAP(a, b); /* swap два int'а */
    SWAP(x, y); /* swap два float */
    SWAP(p1, p2); /* банально уже здесь коммент писать... */

    printf("a = %d, b = %d\n", a, b);
    printf("x = %g, y = %g\n", x, y);
    printf("p1 = %s, p2 = %s\n", p1, p2);

    return 0;
}
Да, это кстати, gcc extensions... Но, как ни странно, С. Так что там от чего у меня отвязать не получится? :)))

Думаю, Вы просто не знаете С. Но при этом горазды делать весьма громкие заявления. Может... матчасть подучите? :)

mr_noone
()
Ответ на: Ндэээ? от mr_noone

Макросы - самый простой способ выпустить себе в ногу целую обойму.

Реализация «ООП» у меня вызвала ироническую усмешку.

Связанным списком меня тоже не удивишь, а вот «полиморфизм» путём каста в void* - это тихий ужас и лишнее разыменование. Впрочем, на сишке лучше и не сделать по причинам, которые я выше озвучил. Дальше не смотрел.

dmfd
()
Ответ на: комментарий от dmfd

Who's care? :)

Макросы - самый простой способ выпустить себе в ногу целую обойму.

Поверьте наслово. «Целую обойму» в ногу себе не выпустишь. Это очень больно — схватить пулю. :))) А вот что касается идиотов в программировании, так вон... похпехеры... Целая стая.

/* Вы никогда не задумывались почему популяция пчёл меньше популяции мух? А всё просто — цветов меньше чем... навоза. :))) */

Реализация «ООП» у меня вызвала ироническую усмешку.

Вы полагаете что я зря задал в заголовке вопрос — who's care? Причины просты — во-первых, я предполагал подобную реакцию, а во-вторых, не важна Ваша реакция. Важно то, что это работает. И не связывает по рукам и ногам. Хотите так, нате так. Хотите по-другому, пожалуйста...

а вот «полиморфизм» путём каста в void* - это тихий ужас и лишнее разыменование.

OMFG! :)))

Дальше не смотрел.

Дык и не требовалось... :))) Самое важное в том, что Вы косвенно признали что С-программисты это вообще-то не обезьяны. Я делаю такой вывод из Ваших же слов. ;)

/* Меня, как С-программиста, конечно же крайне беспокоило Ваше мнение о нас, сирых и убогих, не вкуривших всех прелестей метапрограммирования. :))) И, конечно же, Вы не допускаете мысли о том, что кое-кто из нас, умишком скорбных, попробовал сие чудо, да возвратился назад... В привычный и уютный... Впрочем, хорош уже мне издеваться... :))) */

mr_noone
()
Ответ на: Who's care? :) от mr_noone

Самое важное в том, что Вы косвенно признали что С-программисты это вообще-то не обезьяны

Да, теперь я вижу, что они, по-крайней мере, умеют дистанционно проникать в подсознание и вытягивать правду, что бы жертва ни утверждала.

OMFG! :)))

Меньше эмоций, больше аргументов.

что это работает

Я разве утверждал, что на ц нельзя писать код? Я утверждал, что на ц нельзя выразить абстрактную мысль, и эти примеры никак обратное не подтверждают.

dmfd
()
Ответ на: комментарий от dmfd

Освежим память? :)

Да, теперь я вижу, что они, по-крайней мере, умеют дистанционно проникать в подсознание и вытягивать правду, что бы жертва ни утверждала.

Давайте посмотрим:

ООП заставляет оперировать не байтами, а чёрными ящиками. Да, это уже абстракция.

Ваши слова? Дальше:

Реализация «ООП» у меня вызвала ироническую усмешку.

Вне зависимости от Ваших усмешек непризнать того, что это да... всё-таки «реализация» и всё-таки «ООП» не смогли. Вывод, как я понимаю, очевиден? Причём, с Ваших же слов. :)))

Меньше эмоций, больше аргументов.

В Вашем случае это просто бессмысленно. «Дальше не смотрел» и точка. :)))

Я утверждал, что на ц нельзя выразить абстрактную мысль,

Эммм... Ну, конечно... конечно... :))) Т.е., милейший, по-вашему реализация VFS в kernel (уж коль скоро мы её затронули) недостаточно абстрактна? Да что Вы говорииите... :))) А вот по-мне так вполне-вполне...

mr_noone
()
Ответ на: И что? от mr_noone

А, я думал вы про С++

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

Ну, этот человек не просто куски Кнута в компьютер переписывал, а ещё и много новых алгоритмов напридумывал.

dmfd
()
Ответ на: комментарий от dmfd

Ага, вроде такого:

float Q_rsqrt( float number )
{
        long i;
        float x2, y;
        const float threehalfs = 1.5F;
 
        x2 = number * 0.5F;
        y  = number;
        i  = * ( long * ) &y;                       // evil floating point bit level hacking
        i  = 0x5f3759df - ( i >> 1 );               // what the fuck?
        y  = * ( float * ) &i;
        y  = y * ( threehalfs - ( x2 * y * y ) );   // 1st iteration
//      y  = y * ( threehalfs - ( x2 * y * y ) );   // 2nd iteration, this can be removed
 
        return y;
}

// это, правда, не Кармака код

buddhist ★★★★★
()
Ответ на: Освежим память? :) от mr_noone

Вне зависимости от Ваших усмешек непризнать того, что это да... всё-таки «реализация» и всё-таки «ООП» не смогли. Вывод, как я понимаю, очевиден? Причём, с Ваших же слов. :)))

Во-первых, я использовал кавычки для подчёркивания иронии, во-вторых, зачем руками плохо делать то, что хорошо сделано средствами языка.

Подытожу: любая абстракция на ц приводит к небезопасному коду: как то макросы, так и каст указателей. То есть абстракции в язык не заложены, любое их применение требует обмана системы типов, и приводит к ассемблероподобному коду. Ваши примеры это как нельзя лучше доказали.

dmfd
()
Ответ на: комментарий от buddhist

Известная вещь.

Я имел в виду, что его команда одной из первых сделала 3D графику в реальном времени. Приложив руку и к сканлайнам и к растеризации. Новое поле деятельности: всё равно нужно было больше R, чем D.

dmfd
()
Ответ на: комментарий от dmfd

ООП заставляет оперировать не байтами, а чёрными ящиками.

Добро пожаловать в Клуб Ушибнутых Бучем!

В си невозможно отвязать алгоритм ни от типов данных

В C не нужно отвязывать алгоритмы от типов данных, по той простой причине, что C работает на таком уровне, где это невозможно чисто технически.

нет функций высшего порядка

В C есть указатели, в т.ч. и на функцию.

Но я тебя обрадую: обобщения они и в С++ невозможны из-за ублюбочной концепции мейнстрим-ООП: Класс = Тип + Интерфейс + Поведение.

Шаблонное же метапрограммирование, как и любая другая макросистема, во-первых, требует наличия исходников (что невозможно), а во-вторых, является миной замедленного действия, которая неизвестно когда и где рванет и в результате полная потеря управляемости, мозговзрывающие ошибки компиляции, и труднообнаруживаемые ошибки исполнения. А как все невинно начиналось: захотелось «обобщения».

Macil ★★★★★
()
Ответ на: комментарий от Macil

Буч

При чём здесь этот человек, которого я не читал?

Будешь оспаривать, что класс, реализующий, например, поведение вектора или матрицы, и потроха которого не торчат наружу, не является чёрным ящиком? Или будешь утверждать, скрытие данных вредно, и непременно нужно руками складывать проекции векторов? Опять эмоции, а не аргументация.

C работает на таком уровне, где это невозможно чисто технически.

Я об этом и твержу. Но дело тут не в уровне, на котором он работает, а в примитивной системе типов.

обобщения они и в С++ невозможны из-за ублюбочной концепции мейнстрим-ООП: Класс = Тип + Интерфейс + Поведение.

Да, ООП плюсов уродлив.

требует наличия исходников (что невозможно)

Как невозможно?

dmfd
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.