Some problems in DLL. Please Help me!

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #52997
    Stertor
    Participant

      Привет, я вообще не вижу здесь код 😐 То, что Вы написали – грязный хак.

      Вы можете подробно объяснить, что Вы хотите сделать?

      #52998
      bujin888
      Participant
        'Stertor' wrote:

        Привет, я вообще не вижу здесь код 😐 То, что Вы написали – грязный хак.

        Вы можете подробно объяснить, что Вы хотите сделать?

        if the executable program PEheader.MajorSubsystemVersion not 0x0400, alphaskins will make mistakes

        #53000
        Stertor
        Participant

          Выглядит так, что ошибка не в alphaskins.

          Вы пытаетесь создавать *.dll как обычное приложение с формой – это неправильно:

          begin

          Application.Initialize;

          Application.MainFormOnTaskbar := True;

          Application.CreateForm(TForm1, Form1);

          Application.Run;

          end.

          use only TForm.showmodal:

          Code:
          library Project1;

          uses
          //fastmm4,fastmm4messages,
          SysUtils,
          Classes,
          Unit1 in 'Unit1.pas' {Form1};

          {$R *.res}

          procedure test;stdcall; //rundll32 project1.dll,test
          var
          Form:TForm1;
          begin
          Form:=TForm1.Create(nil);
          Form.ShowModal;
          Form.destroy;
          end;

          exports test;
          begin
          end.

          #53019
          bujin888
          Participant

            if your DLL Working in WIN7 or WIN8 OS,And The host process is C:WindowsSystem32rundll32.exe,You will understand that I mean expression.

            You write the DLL DEMO,Loading in the following ways In win7,Error also occurs!

            Quote:
            C:WindowsSystem32rundll32.exe C:Project.dll,test

            If your host process is compiled by Delphi so there won't be a mistake,But if you host process is compiled by VC++ or other,

            and PEheader.MajorSubsystemVersion not 0x0400 ,Error will occur!In this way, we write DLL there is no way to call by the VC++ host process !

            #53022
            Stertor
            Participant

              Уважаемый bujin888! Мы не успели пообщаться долго – я не могу знать,насколько хорошо Вы знаете Delphi. Дело вовсе не в dll и host; нет существенной разницы, написан ли host на delphi или ином языке. На данный момент у меня установлена Delphi 7 и я не заметил никаких сбоев или других ошибок при тестировании моих примеров как в XP, так и в WIN 7.

              dll скомпилированные в Делфи совместимы со всеми программами, при условии что Вы используете в параметрах функций и процедур только

              pchar, integer, pointer. Вместе с тем Вы отказались привести полный код Вашего проекта, поэтому я не могу с точностью сказать в чем именно Ваша ошибка. Могу только предполагать, что Вы – тролль, который хочет в бан. Удачи в Ваших изысканиях. 🙄

            Viewing 5 posts - 1 through 5 (of 5 total)
            • You must be logged in to reply to this topic.