Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: CL | DM;

Вниз

Ошибка FFFFFFFFFF   Найти похожие ветки 

 
ctudent ©   (2006-04-10 18:52) [0]

Здраствуйте уважаемые мастера дельфи. Скажите пожалуйста как избежать ошибки FFFFFFFFFF. Она появляется когда происходит вызов функции пропись из DLL.


 
Fay ©   (2006-04-10 19:02) [1]

try
// Здесь код, вызывающий исключение
except
 on E : Exception do
   raise Exception.Create(StringReplace(E.Message, "FFFFFFFF", "EEEEEEEE", [rfReplaceAll]));
end;


 
Fay ©   (2006-04-10 19:05) [2]

> FFFFFFFFFF
А чё не FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF?


 
valdemot ©   (2006-04-10 19:08) [3]


> > FFFFFFFFFF
> А чё не FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF?

Извиняюсь! Опечатка! Благодарю за помощь!


 
Fay ©   (2006-04-10 19:18) [4]

Ваще-то я типа пошутил...


 
Leonid Troyanovsky ©   (2006-04-10 22:00) [5]


> ctudent ©   (10.04.06 18:52)  
> как избежать ошибки FFFFFFFFFF. Она появляется когда происходит
> вызов функции пропись из DLL.

Максимум, чего  можно избежать -  FFFFFFFFF.

--
Regards, LVT.


 
Virgo_Style ©   (2006-04-10 22:07) [6]

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

Меня вот осенило - может, это с передачей строк в/из dll связано?


 
Джо ©   (2006-04-10 22:09) [7]

> [6] Virgo_Style ©   (10.04.06 22:07)
> Меня вот осенило - может, это с передачей строк в/из dll
> связано?

А меня осенило, что может быть в функции — ошибка? :)


 
Virgo_Style ©   (2006-04-10 22:21) [8]

Джо ©   (10.04.06 22:09) [7]

или так (с)


 
Юрий Зотов ©   (2006-04-11 01:23) [9]

>  ctudent ©   (10.04.06 18:52)  

Скорее всего, Вы неверно описали ошибку. Это не ошибка FFFFFFFFFF, а ошибка ПРИ ОБРАЩЕНИИ ПО АДРЕСУ FFFFFFFFFF - поэтому народ и смеется.

Ошибки такого рода обычно возникают при неправильной работе с памятью. Но не видя Вашего кода ничего более точного, конечно, не скажешь. Покажите код функции из DLL и код ее вызова, тогда причина, скорее всего, прояснится.


 
Desdechado ©   (2006-04-11 11:40) [10]

StringReplace(E.Message, "FFFFFFFF", "BEBEBEBE", []));


 
Amoeba ©   (2006-04-11 12:07) [11]

Есть сильное подозрение, что автор вопроса просто не удосужился прочитать тот пространный комментарий, что Delphi сама поместила в начале сгенерированного ей файла проекта DLL этой.


 
valdemot ©   (2006-04-11 12:27) [12]

в длл
function GeniCase(const S : String; C1,C2,C3 : String): string; export;
function NumeralToPhrase(const S : String) : String; export;
function Trim(const S: string): string; export;

в unit1.pas

var
  L,i : Integer;
  S   : string;
begin
S:=suidbEdit3.Text;
    L:=Length(S);

    for i:=l to L do
        if Pos(S[i], "0123456789") = 0 then break;
    suiEdit17.Text:=( NumeralToPhrase(suidbEdit3.Text)+" "+
GeniCase(suidbEdit3.Text,
                             edit1.Text,
                             Edit2.Text,
                              Edit3.Text)+"р.");


 
valdemot ©   (2006-04-11 12:27) [13]

в длл
function GeniCase(const S : String; C1,C2,C3 : String): string; export;
function NumeralToPhrase(const S : String) : String; export;
function Trim(const S: string): string; export;

в unit1.pas

var
  L,i : Integer;
  S   : string;
begin
S:=suidbEdit3.Text;
    L:=Length(S);

    for i:=l to L do
        if Pos(S[i], "0123456789") = 0 then break;
    suiEdit17.Text:=( NumeralToPhrase(suidbEdit3.Text)+" "+
GeniCase(suidbEdit3.Text,
                             edit1.Text,
                             Edit2.Text,
                              Edit3.Text)+"р.");

Прописывал ShareMem. Всё равно не помогает?


 
Сергей М. ©   (2006-04-11 12:33) [14]


> Всё равно не помогает?


Да кто ж знает, помогает оно тебе или не помогает)


> Прописывал ShareMem


Его нужно прописывать не иначе как в uses обоих dpr !


 
Плохиш ©   (2006-04-11 12:38) [15]


> Его нужно прописывать не иначе как в uses обоих dpr !

И к тому же самым первым.


 
valdemot ©   (2006-04-11 12:40) [16]


> Всё равно не помогает?
>
>
> Да кто ж знает, помогает оно тебе или не помогает)
>
>
> > Прописывал ShareMem
>
>
> Его нужно прописывать не иначе как в uses обоих dpr !


Во обоих прописал? Изменений НОЛЬ!

Код стопорится на этой строке?

if Pos(S[i], "0123456789") = 0 then break;


 
Сергей М. ©   (2006-04-11 12:42) [17]


> Во обоих прописал?


> Код стопорится на этой строке?


Ты кого спрашиваешь-то ? Самого себя что ли ?)


 
valdemot ©   (2006-04-11 12:43) [18]


> > Его нужно прописывать не иначе как в uses обоих dpr !
>
> И к тому же самым первым.


И самым первым прописывал?
А может ли проблема быть из-а того что у меня в проге вызвается три ДЛЛ.


 
Сергей М. ©   (2006-04-11 12:44) [19]


> И самым первым прописывал?


Опять "Тихо сам с собою .." (С) .... )


 
valdemot ©   (2006-04-11 12:45) [20]


> > И самым первым прописывал?


Да.


 
Сергей М. ©   (2006-04-11 12:49) [21]


> valdemot ©   (11.04.06 12:45) [20]


Строчка

if Pos(S[i], "0123456789") = 0 then break;

насколько это понятно из твоего сумбурного объяснения, к вызову ДЛЛ отношения вообще не имеет.


 
Desdechado ©   (2006-04-11 13:15) [22]

связывание динамическое или статическое?


 
Fay ©   (2006-04-11 15:20) [23]

> for i:=l to L do
Это чё?


 
valdemot ©   (2006-04-11 22:02) [24]


> Desdechado ©   (11.04.06 13:15) [22]
> связывание динамическое или статическое?

Динамическое



Страницы: 1 вся ветка

Текущий архив: 2006.04.30;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.035 c
15-1144413806
oldman
2006-04-07 16:43
2006.04.30
Тихо шифером шурша...


1-1142968017
Dust
2006-03-21 22:06
2006.04.30
IniFile не создаётся и не записывается, и не понятно почему...


15-1144345143
Vendict
2006-04-06 21:39
2006.04.30
Win2kSp4->Win2kSp6


2-1144836480
elfebet
2006-04-12 14:08
2006.04.30
Как запихнуть ярлык в Quick Lauch?


2-1144765707
Кашперук Иван
2006-04-11 18:28
2006.04.30
Вопрос про Меню