ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #5211  
Старый 15.12.2009, 18:37
=Zeus=
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме:
724939

Репутация: 108
Отправить сообщение для =Zeus= с помощью ICQ
По умолчанию

Seven[up], в разделе "Министатьи" я писал пример, как это сделать. Можешь там посмотреть. Там самая последняя на данный момент вроде.
 

  #5212  
Старый 15.12.2009, 18:53
_s1r1us_
Познающий
Регистрация: 24.08.2009
Сообщений: 36
Провел на форуме:
671849

Репутация: 6
По умолчанию

Цитата:
где ошибка???
номер и пасс забыл ввести))
 

  #5213  
Старый 15.12.2009, 19:04
Seven[up]
Познающий
Регистрация: 10.08.2009
Сообщений: 74
Провел на форуме:
1538500

Репутация: 69
Отправить сообщение для Seven[up] с помощью ICQ
По умолчанию

Цитата:
Сообщение от _s1r1us_  
номер и пасс забыл ввести))
они а настройках компонента ICQClient
 

  #5214  
Старый 15.12.2009, 19:07
Seven[up]
Познающий
Регистрация: 10.08.2009
Сообщений: 74
Провел на форуме:
1538500

Репутация: 69
Отправить сообщение для Seven[up] с помощью ICQ
По умолчанию

проблему так и не решил((( м.б. кто нибудь подскажет что недостает в коде?
 

  #5215  
Старый 15.12.2009, 19:23
crystalbit
Участник форума
Регистрация: 06.06.2008
Сообщений: 171
Провел на форуме:
1085601

Репутация: 110
Отправить сообщение для crystalbit с помощью ICQ
По умолчанию

тебе нужно дожидаться. дожидаться, когда ася войдёт. Функция login вроде асинхронно работает. Тут или на OnLogin (или как там), или циклом ждешь LoggedIn (не уверен, как оно в компоненте, но суть ты понял)
 

  #5216  
Старый 16.12.2009, 02:16
StealthMaster
Познающий
Регистрация: 03.12.2008
Сообщений: 56
Провел на форуме:
140714

Репутация: 29
Отправить сообщение для StealthMaster с помощью ICQ
По умолчанию

Цитата:
Сообщение от Seven[up]  
проблему так и не решил((( м.б. кто нибудь подскажет что недостает в коде?
Код:
procedure TForm1.bConnectClick(Sender: TObject);
begin
  ICQClient1.Login();
end;

procedure TForm1.bSendMessageClick(Sender: TObject);
begin
  with ICQClient1 do
    if LoggedIn then
      SendMessage(361796, edText1.Text + ':' + edText2.Text);
end;
Либо, как вариант использовать таймер, чтобы каждые N секунд проверять, удалось установить подключение или нет.

Код:
procedure TForm1.bConnectClick(Sender: TObject);
begin
  ICQClient1.Login();
  Timer1.Enabled := true;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
  with ICQClient1 do
    if LoggedIn then
      begin
        SendMessage(361796, edText1.Text + ':' + edText2.Text);
        Timer1.Enabled := false;
      end;
end;
Хотя с компонентом IcqClient чудеса творятся... Днем наотрез отказался подключаться...

Последний раз редактировалось StealthMaster; 16.12.2009 в 02:53..
 

  #5217  
Старый 16.12.2009, 02:31
AlexGT
Познающий
Регистрация: 21.01.2008
Сообщений: 85
Провел на форуме:
629558

Репутация: 52
Отправить сообщение для AlexGT с помощью ICQ
По умолчанию

Народ как в дельфи при достижении прогрессбаром позиции 100 (Progressbar1.Position=100) вывести меседж ?
Перепробовал кучу вариантов, в том числе с таймером ничего не получилось..
 

  #5218  
Старый 16.12.2009, 02:51
StealthMaster
Познающий
Регистрация: 03.12.2008
Сообщений: 56
Провел на форуме:
140714

Репутация: 29
Отправить сообщение для StealthMaster с помощью ICQ
По умолчанию

Цитата:
Сообщение от AlexGT  
Народ как в дельфи при достижении прогрессбаром позиции 100 (Progressbar1.Position=100) вывести меседж ?
Перепробовал кучу вариантов, в том числе с таймером ничего не получилось..
Можно в процедуре, где происходит изменение свойства Position у ProgressBar'a сравнивать новое значение с 100.

Код:
procedure SomeThing;
var
   Position: integer;
begin
   // вычисление нового значения Position
   ...
   form1.Progressbar1.position := Position;
   if (Position = 100) then
      ShowMessage('lalala');
end;
 

  #5219  
Старый 16.12.2009, 09:56
Seven[up]
Познающий
Регистрация: 10.08.2009
Сообщений: 74
Провел на форуме:
1538500

Репутация: 69
Отправить сообщение для Seven[up] с помощью ICQ
По умолчанию

Цитата:
Сообщение от StealthMaster  
Код:
procedure TForm1.bConnectClick(Sender: TObject);
begin
  ICQClient1.Login();
end;

procedure TForm1.bSendMessageClick(Sender: TObject);
begin
  with ICQClient1 do
    if LoggedIn then
      SendMessage(361796, edText1.Text + ':' + edText2.Text);
end;
Либо, как вариант использовать таймер, чтобы каждые N секунд проверять, удалось установить подключение или нет.

Код:
procedure TForm1.bConnectClick(Sender: TObject);
begin
  ICQClient1.Login();
  Timer1.Enabled := true;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
  with ICQClient1 do
    if LoggedIn then
      begin
        SendMessage(361796, edText1.Text + ':' + edText2.Text);
        Timer1.Enabled := false;
      end;
end;
Хотя с компонентом IcqClient чудеса творятся... Днем наотрез отказался подключаться...
Спасибо
 

  #5220  
Старый 16.12.2009, 12:51
Uname-A
Познающий
Регистрация: 19.08.2008
Сообщений: 69
Провел на форуме:
458484

Репутация: 31
По умолчанию

Приветствую.

Собственно прошу помочь разобраться с динамической загрузкой дллки bass.dll

До сего дня юзал статический способ(aka простой) но этот способ требовал обязательного наличия дллки рядом с программой Что само по себе мне не подходит

Начал смотреть в сторону динамической загрузки Но почему то код на отрез отказывается работать=(

Прошу знающих людей посмотреть и сказать что не так(код не самый красивый и удобный Это всего лишь пробный вариант)

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  BASS_Init : function(device: LongInt; freq, flags: DWORD; win: HWND; clsid: PGUID): Boolean;
  BASS_StreamCreateFile : function(mem: BOOL; f: Pointer; offset, length: Int64; flags: DWORD): DWORD;
  BASS_ChannelPlay: function(handle: DWORD; restart: BOOL): BOOL;
  DLLInstance : THandle;
var stream:TStream;
mem: Pointer;
Channel1:HWND;
begin
  stream:=TResourceStream.Create(hinstance,PChar('doorup'),PChar('sounds'));
  GetMem(mem, stream.size);
  stream.Read(mem^, stream.Size);
  DLLInstance := LoadLibrary(PChar('bass.dll'));
  if (DLLInstance = 0) then
  begin
    MessageDlg('Невозможно загрузить DLL', mtError, [mbOK], 0);
    Exit;
  end;
  try
      @BASS_Init := GetProcAddress(DLLInstance, 'BASS_Init');
    @BASS_StreamCreateFile := GetProcAddress(DLLInstance, 'BASS_StreamCreateFile');
    @BASS_ChannelPlay := GetProcAddress(DLLInstance, 'BASS_ChannelPlay');
    if Assigned(@BASS_StreamCreateFile) and (Assigned(@BASS_ChannelPlay)) and (Assigned(@BASS_Init)) then
    begin
    showmessage('uuu');
     if BASS_Init(-1, 44100, 0, Application.Handle, nil) then
     begin
     Channel1:=BASS_StreamCreateFile(true,mem,0,stream.Size,0);
     BASS_ChannelPlay(Channel1, true);  // timeisout
     end;
     end
    else
      MessageDlg('Не найдена искомая процедура!.', mtError,[mbOK], 0);
  finally
    FreeLibrary(DLLInstance);
  end;
end;
ПЫ СЫ: bass.dll версии 2.4, ошибка появляется на строчке которую я выделил Текст ошибки ниже:

Код:
 ---------------------------
Debugger Fault Notification
---------------------------
Project C:\Documents and Settings\Admin\Рабочий стол\Test\Project1.exe faulted with message: 'access violation at 0x0000c35d: read of address 0x0000c35d'. Process Stopped. Use Step or Run to continue.
---------------------------
OK   
---------------------------
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ