Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.04.2008, 22:25
Аватар для KOOL
KOOL KOOL вне форума
Активный
 
Регистрация: 06.01.2008
Адрес: Рязань
Сообщения: 306
Версия Delphi: 2009
Репутация: 6150
Печаль Указатели

Внедряю в прогу шифрование, алгоритмы в dll, запутался в указателях и плагины не работают, если в красной строчке не заменить str2 и pass на str и PChar(Pass), а если заменить то не работает встроенный алгоритм...
Подскажите где нужны указатели, а где просто строки
Вот схема загрузки:
Код:
...
function Plug.DeCodeLine(Line, Pass : PChar) : PChar;//функция для плагина
begin
  Result := '';
  If @DEC <> nil Then
    Result := DEC(Line, Pass);
end;
...
function DeCodeLine(Txt, pass : string) : string;//встроенный алгоритм
Var i,j : Integer;
begin
  For i := 1 To Length(Txt) Do
      Begin
        <шифровать>
      End;
  Result := Txt;
end;
...
function DeCodeLinePlugin(Txt, Pass, FName : string) : string;
begin
Result := Txt;
  If  <нужныерасширения> Then//если расширения внутреннего алгоритма
    begin
      Result := DeCodeLine(Txt, Pass);
      Exit;
    end;
...
   Result := Plug(Form1.PlugList.Items[i]).DeCodeLine(PChar(Txt), PChar(Pass));//если расширение плагина
...
end;
...
repeat
...
    AssignFile(InFile, FileName);
    Reset(InFile);
    Read(InFile, str);
    str2 := Copy(str, 1, Length(Str));
    CloseFile(InFile);
    ns := 'Секретный шифр';
    If Pos(ns, DecodeLinePlugin(str2, Pass, FileName))=0 Then
      MessageBox(Form1.Handle, 'Неверный пароль!', 'Ошибка', MB_OK Or MB_ICONERROR);
  until(Pos(ns, DecodeLinePlugin(str, Pass, FileName))<>0);
...
З.Ы. Алгоритмы в плагинах полностью работоспособны

Последний раз редактировалось KOOL, 06.04.2008 в 22:27.
Ответить с цитированием
  #2  
Старый 07.04.2008, 10:02
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Так везде надо использовать указатели! И лучше использовать указатель на строку, а не PChar. Тогда не запутаешься
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:38.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025