Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];

Вниз

Ошибка 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;
Скачать: [xml.tar.bz2];

Наверх




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


1-1143469728
AlexF
2006-03-27 18:28
2006.04.30
Многострочное название node


10-1117689235
Alex--
2005-06-02 09:13
2006.04.30
Регистрация сервера автоматизации


2-1145016343
Ezorcist
2006-04-14 16:05
2006.04.30
Как узнать аськи-код символа?


8-1132910552
avlan
2005-11-25 12:22
2006.04.30
Видео в формате WMV





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский