Форум: "Начинающим";
Текущий архив: 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