Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите разобраться с ошибкой! [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо