A2 & Oberon GOOGLE trans to English      Помощь      Поиск      Пользователи  Файловый архив


 Страниц (7): « 1 2 3 [4] 5 6 7 »   

> Описание: Обсуждение Среды разработки и Компилятора Оберон-2
satan
Отправлено: 24 Августа, 2009 - 08:12:16
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Выложил обновление суда http://satan.ho.com.ua/fed.zip

Обновил редактор...

Добавил выделение экспортированных функций
Добавил всплывающее окно с авто подстановкой и автоматической сортировкой по начальным символам (Попробуйте набрать SY и подождать сек.)
Доработал мультикомментарии (теперь они работают быстрее и эффективнее, а главное правильно!)

При кликанье на Warning или Danger сообщения авто переход на ошибку с открытием файла...

(Отредактировано автором: 28 Сентября, 2009 - 02:59:53)

 
 Top
BohdanT Администратор
Отправлено: 03 Сентября, 2009 - 21:16:34
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




Дело в том, что этот вопрос зависит от конкретных библиотек, которые могут отличатся для различных продуктов. Тебе именно под XDS нужно?

Вот пример на винапи, всего одна функция, если тебе нужно разбить на параметры, то просто добавь проверку если " " или "/" то следующий параметр Хм :
PROCEDURE GetCommandLine(VAR commandLine: ARRAY OF CHAR);
VAR adr: SYSTEM.ADDRESS; i: LONGINT; ch: CHAR;
BEGIN
adr := Kernel32.GetCommandLine(); (*WinApi ф-я позволяет получить командную строку текущего процесса *)
SYSTEM.GET(adr,ch); (*читаем первый символ*)
i := 0;
WHILE (i<LEN(commandLine)-1) & (ch # 0X) DO (*буфер не переполнен и пока не конец строки*)
commandLine[i] := ch; (*заносим в строку-буфер символ*)
INC(adr); INC(i); (*увеличиваем адрес и счетчик символов*)
SYSTEM.GET(adr,ch);
END;
END GetCommandLine;
 
 Top
satan
Отправлено: 03 Сентября, 2009 - 21:52:21
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Блин, у меня в XDS не хотит создавать исполняемый файл
Орет ту же ошибку, хотя на код не ругается

и именно кокда есть вот такая строка
adr := W.GetCommandLine();
 
 Top
BohdanT Администратор
Отправлено: 03 Сентября, 2009 - 22:21:17
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




satan пишет:
XDS не хотит создавать исполняемый файл

Я с XDS не работал, подсказать не могу.
Укажи какую ошибку выдает на
W.GetCommandLine();
 
 Top
satan
Отправлено: 04 Сентября, 2009 - 00:10:25
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Цитата:
Я с XDS не работал, подсказать не могу.
Укажи какую ошибку выдает на
W.GetCommandLine();


Severe Error: External command fault 255
xlink @tmp.lnk
 
 Top
BohdanT Администратор
Отправлено: 04 Сентября, 2009 - 06:18:43
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




так это проблема с линковой, видать неописанаWinApi функция GetCommandLine
 
 Top
satan
Отправлено: 05 Сентября, 2009 - 04:15:02
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Ага, точно, вернее она описана, только возвращает по моему указатель (LONGINT)
Ну да бог с ней, потом разберусь...
 
 Top
satan
Отправлено: 14 Сентября, 2009 - 22:20:02
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Засада, мужики на 90% компилер готов, кто подскажет как вызвать функцию из dll
Никак не вкурю как описать например ExitProcess она же из Kernel32.dll вызывается?

Так вот где ето прописать???
 
 Top
BohdanT Администратор
Отправлено: 26 Сентября, 2009 - 21:56:20
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




satan
сорри за задержку с ответом.

Если ты используешь POW то для него есть http://www.fim.uni-linz.ac.at/po....0b32/WinApi.zip
там есть требуемы тебе функции и ответ на твой вопрос.
 
 Top
satan
Отправлено: 28 Сентября, 2009 - 01:57:30
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




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

То есть такого как в BB, допустим нет

PROCEDURE SetMenuItemInfoW* ["USER32.dll", ""] (p0: HMENU; p1: INTEGER; p2: BOOL; VAR [nil] p3: MENUITEMINFOW): BOOL;

Однако

Вообщем обновил архив по ссылке вверху.

Теперь интересуют ваши замечания по редактору. Типа авто добавление кода (как в Delphi по CTRL+SPACE). Вот не знаю какие туда функции добавить? Может WinApi?

Далее, отказался от OBJ файлов, луче сделать все таки раздельные линкеры...
Кто может посоветовать с эффективным (ASM) кодом всегда рад буду.

Время компиляции самого себя на Обероне у меня 0.3 сек (около 30 000 строк кода), но это из-за дурацкой прорисовки ListView а в виртуальном режиме гораздо меньше...

(Отредактировано автором: 28 Сентября, 2009 - 02:57:07)

 
 Top
Страниц (7): « 1 2 3 [4] 5 6 7 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« Cредства разработки »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Locations of visitors to this page
[Valid RSS]

RSS

Valid CSS!


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0119]     [ Gzipped ]