Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 739

•  TDictionary Custom Sort  6 741

•  Fast Watermark Sources  6 530

•  3D Designer  9 471

•  Sik Screen Capture  6 859

•  Patch Maker  7 306

•  Айболит (remote control)  7 253

•  ListBox Drag & Drop  6 113

•  Доска для игры Реверси  97 936

•  Графические эффекты  7 427

•  Рисование по маске  6 722

•  Перетаскивание изображений  5 577

•  Canvas Drawing  5 957

•  Рисование Луны  5 743

•  Поворот изображения  5 197

•  Рисование стержней  3 804

•  Paint on Shape  2 978

•  Генератор кроссвордов  3 916

•  Головоломка Paletto  3 111

•  Теорема Монжа об окружностях  3 933

•  Пазл Numbrix  2 585

•  Заборы и коммивояжеры  3 385

•  Игра HIP  2 325

•  Игра Go (Го)  2 222

•  Симулятор лифта  2 627

•  Программа укладки плитки  2 210

•  Генератор лабиринта  2 731

•  Проверка числового ввода  2 366

•  HEX View  2 708

•  Физический маятник  2 378

 
скрыть

Определение работы в Delphi IDE




function DelphiLoaded: boolean;
{ Определение работающей Delphi. Во всяком случае, дает
правильный результат если Delphi минимизирован, или имеет о
ткрытый проект. Также, правильный результат получается,
если вызывающее приложение автономно, или запущено из-под
IDE. Код написан на основе идей Wade Tatman
wtatman@onramp.net - Mike O'Hanlon, The Pascal Factory,
найденных в Delphi-Talk List. }

  function WindowExists(ClassName, WindowName: string): boolean;
    { Проверяем наличие определенного окна Window, используя
    для этого паскалевские строки вместо PChars. }

  var
    PClassName, PWindowName: PChar;
    AClassName, AWindowName: array[0..63] of char;
  begin
    if ClassName = '' then
      PClassName := nil
    else
      PClassName := StrPCopy(@AClassName[0], ClassName);
    if WindowName = '' then
      PWindowName := nil
    else
      PWindowName := StrPCopy(@AWindowName[0], WindowName);
    if FindWindow(PClassName, PWindowName) <> 0 then
      WindowExists := true
    else
      WindowExists := false;
  end; {WindowExists}

begin {DelphiLoaded}
  DelphiLoaded := false;
  if WindowExists('TPropertyInspector', 'Object Inspector') then
    if WindowExists('TMenuBuilder', 'Menu Designer') then
      if WindowExists('TApplication', 'Delphi') then
        if WindowExists('TAlignPalette', 'Align') then
          if WindowExists('TAppBuilder', '') then
            DelphiLoaded := true;
end; {DelphiLoaded}

Следующая программа возвращает TRUE при запуске в Delphi IDE (ПРИМЕЧАНИЕ: это _не_ сработает, если подпрограмма в DLL).


function InIDE: Boolean;
begin
  Result := Bool(PrefixSeg) and
    Bool(PWordArray(MemL[DSeg:36])^[8]));
end;  { InIDE }