- This topic has 5 replies, 2 voices, and was last updated 10 years, 3 months ago by
Stertor.
-
AuthorPosts
-
January 14, 2015 at 2:49 pm #52997
Stertor
ParticipantПривет, я вообще не вижу здесь код 😐 То, что Вы написали – грязный хак.
Вы можете подробно объяснить, что Вы хотите сделать?
January 14, 2015 at 3:19 pm #52998bujin888
Participant'Stertor' wrote:Привет, я вообще не вижу здесь код 😐 То, что Вы написали – грязный хак.
Вы можете подробно объяснить, что Вы хотите сделать?
if the executable program PEheader.MajorSubsystemVersion not 0x0400, alphaskins will make mistakes
January 14, 2015 at 9:03 pm #53000Stertor
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.January 18, 2015 at 5:34 pm #53019bujin888
Participantif 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,testIf 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 !
January 19, 2015 at 10:52 pm #53022Stertor
ParticipantУважаемый bujin888! Мы не успели пообщаться долго – я не могу знать,насколько хорошо Вы знаете Delphi. Дело вовсе не в dll и host; нет существенной разницы, написан ли host на delphi или ином языке. На данный момент у меня установлена Delphi 7 и я не заметил никаких сбоев или других ошибок при тестировании моих примеров как в XP, так и в WIN 7.
dll скомпилированные в Делфи совместимы со всеми программами, при условии что Вы используете в параметрах функций и процедур только
pchar, integer, pointer. Вместе с тем Вы отказались привести полный код Вашего проекта, поэтому я не могу с точностью сказать в чем именно Ваша ошибка. Могу только предполагать, что Вы – тролль, который хочет в бан. Удачи в Ваших изысканиях. 🙄
-
AuthorPosts
- You must be logged in to reply to this topic.