Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.05.2010, 08:27
Proger10 Proger10 вне форума
Прохожий
 
Регистрация: 02.03.2009
Сообщения: 26
Репутация: 10
По умолчанию [Delphi, C]Первод С->Delphi

Есть dll'ка (исходники насколько понял в папке libfaac) написанная на C мне нужно использовать ее в Delphi. Люди, знающие и то и то, помогите! Нужно написать pas-файлик в котором импортируются следующие фунции:
Код:
faacEncClose
faacEncEncode
faacEncGetCurrentConfiguration
faacEncGetDecoderSpecificInfo
faacEncGetVersion
faacEncOpen
faacEncSetConfiguration
и всё, что нужно для их вызова (record'ы, типы, и т.д.)

Последний раз редактировалось Proger10, 18.05.2010 в 15:47.
Ответить с цитированием
  #2  
Старый 15.05.2010, 08:40
Аватар для Bars1992
Bars1992 Bars1992 вне форума
Активный
 
Регистрация: 24.04.2010
Адрес: Украина, Кременчуг
Сообщения: 249
Репутация: 22
По умолчанию

А зачем переводить??? dll для того был и создан чтоб процедуры написанные на одном языке легко использовались в программах написаных на другом.
__________________
Не твори зла, и жизнь повернется к тебе передом
Ответить с цитированием
  #3  
Старый 15.05.2010, 14:32
Proger10 Proger10 вне форума
Прохожий
 
Регистрация: 02.03.2009
Сообщения: 26
Репутация: 10
По умолчанию

Это понятно! Но какие параметры нужны процедурам? Там вроде есть записи, значит их надо описать. Для этого нужны хоть какие-то знания языка на котором написана dll, которых у меня к сожалению пока нет..
Ответить с цитированием
  #4  
Старый 15.05.2010, 15:03
Аватар для Bars1992
Bars1992 Bars1992 вне форума
Активный
 
Регистрация: 24.04.2010
Адрес: Украина, Кременчуг
Сообщения: 249
Репутация: 22
По умолчанию

Если ты знаешь язык турбо паскаль то чтоб выучить с++ много времени не нужно. За 10 мин я думаю ты поймешь как в си записываются записи процедуры и функции.

Если умеешь ездить на лигковом автомобиле то на грузовик пересесть не сложно)))
__________________
Не твори зла, и жизнь повернется к тебе передом
Ответить с цитированием
  #5  
Старый 15.05.2010, 19:32
Proger10 Proger10 вне форума
Прохожий
 
Регистрация: 02.03.2009
Сообщения: 26
Репутация: 10
По умолчанию

Я вообще ни чего не понимаю! Начал попорядку - с фунцкции faacEncGetVersion. char **faac_id_string по идеи должен быть в Delphi faac_id_string: array of string, *faac_id_string = libfaacName по идеи - запись в первый элемент массива, но ничего не работает, чисто интуитивно догадался, что надо писать так:
Код:
function faacEncGetVersion(var faac_id_string, faac_copyright_string: string):integer; stdcall; external 'libfaac.dll';
Но если написать:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  s1, s2: string;
  i1: integer;
begin
  i1:=faacEncGetVersion(s1, s2);
  ShowMessage(IntToStr(i1));
  ShowMessage(s1);
  ShowMessage(s2);
end;
,то если идти пошагово, то возникает access violation на строке end;(!!), хотя в s1 - версия (ну хоть что-то получилось!!), что в s2, watch не говорит (Inaccessible value), в i1 - 144 (что это?? ну да ладно..)

Последний раз редактировалось Proger10, 16.05.2010 в 07:44.
Ответить с цитированием
  #6  
Старый 17.05.2010, 16:03
Proger10 Proger10 вне форума
Прохожий
 
Регистрация: 02.03.2009
Сообщения: 26
Репутация: 10
По умолчанию

upupupupup
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:50.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025