![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите разобраться с ошибкой! [D6, WinXP]
ctudent © (2006-03-05 16:51:00)Привет всем мастерам Дельфи!
Помогите разобраться мне со следующей ошибкой.
Есть код написанный в ДДЛ:
function GeniCase(const S : String; C1,C2,C3 : String): String; export;
var
Det1,Det2:Integer;
begin
end;
function NumeralToPhrase(const S : String) : String; export;
if (V>0) then
Inc(P);
end;
end;
end;
Result:=Trim(Result);
if (Result='') then
Result:='íîëü';
Result:=AnsiUpperCase(Result[1])+Copy(Result,2,Length(Result)-1);
end;
function Trim(const S: string): string; export;
var
Index: Integer;
begin
end;
exports
Trim,
NumeralToPhrase,
GeniCase;
Вызываю его из программы:
function Trim(const S: string): string; external ('f:\ssuda\bin\pss32l.dll');
function NumeralToPhrase(const S : String) : String; external ('f:\ssuda\bin\pss32l.dll');
function GeniCase(const S : String; C1,C2,C3 : String): String;external ('f:\ssuda\bin\pss32l.dll');
procedure TForm1.suiDBEdit3Change(Sender: TObject);
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)+'ð.');
Программа выполняется корректно до тех пор пока нет обращения к компоненту DBEdit3. Программа сразу вылетает и выдаёт разные ошибки , то ошибка обнаружена в голоыном файле программы, то в библиотека борланда, то в самой DLL? Как её исправить и вобще может я написал неверный код?
VirEx (2006-03-05 19:48:00) [1]
> ctudent © (05.03.06 16:51)
пральна товарищ kaZaNoVa пишет, в dll лучше использовать PChar в качестве передаваемых параметров, даже гдето в F1 написано было такое
kaZaNoVa (2006-03-05 16:53:00) [2]
Uses ShareMemкажется ...
а лучше не юзай:
> function GeniCase(const S : String; C1,C2,C3 :
> String): String ; export;