Avatar billede hermandsen Juniormester
09. juni 2003 - 10:51 Der er 14 kommentarer og
1 løsning

Hvordan bygger jeg en Expert (plugin) til Delphi's IDE??

Hej Eksperter

Jeg har sat mig for at bygge mit eget plugin til Delphi, en såkaldt Expert.

Det jeg søger er nogen med erfaring inden for det område.

Hvilke problemer støder man på, hvordan tester man undervejs (skal plugin'et f.eks. installeres på ny hver gang, eller er der en smartere metode), er der nogle bestemte funktioner der skal være tilstede osv.

Hvis du/i ligger inde med et godt eksempel til alt det grundlæggende, ville det også være rart!!

//hermandsen
Avatar billede athlon-pascal Juniormester
09. juni 2003 - 11:01 #1
Er http://www.eksperten.dk/spm/361718 målet?
I så fald skal du også undersøge om Delphi tillader at man piller ved selve editoren ... måske skal du erstatte den...
Avatar billede speedy Nybegynder
09. juni 2003 - 11:03 #2
athlon-pascal>> http://www.delphi-expert.com/products/castalia/
Det ser ud som om at denne Expert kan pille ved editoren....

/SpEeDy
Avatar billede hermandsen Juniormester
09. juni 2003 - 11:03 #3
Ja, det er netop målet!! Jeg ved man kan få adgang til editor'en og Editor-formen, og sågar også tegne på den, men spørgsmålet burde ikke være om det kan lade sig gøre (for det kan det, vi taler om Delphi), men nærmere hvordan!!
Avatar billede hermandsen Juniormester
09. juni 2003 - 11:04 #4
>>speedy
Nemlig, hvis de kan, så kan jeg også!! :)
Avatar billede athlon-pascal Juniormester
09. juni 2003 - 11:07 #5
Husk at PN er skrevet i Delphi...
Desværre er det editor-komponent de bruger ikke tilgængelig på internettet mere, jeg kunne ikke finde det da jeg ledte efter et SynEdit-alternativ :-(
Og det følger ikke med PN-koden...
Avatar billede hermandsen Juniormester
09. juni 2003 - 11:09 #6
>>athlon-pascal
Problemet er mere hvordan jeg kommer i gang med at lave min egen Expert og hvordan det gøres... Alle de store spørgsmål om hvordan jeg skal lave min dims, gemmer jeg til senere... ;)
Avatar billede athlon-pascal Juniormester
09. juni 2003 - 11:15 #7
Avatar billede athlon-pascal Juniormester
09. juni 2003 - 11:55 #8
Avatar billede elv Nybegynder
09. juni 2003 - 12:20 #9
Måske er det OpenTools-api'et du skal have fat på. Eksempler og dokumentation på:
http://www.tempest-sw.com/opentools/
Avatar billede hermandsen Juniormester
09. juni 2003 - 12:34 #10
>>elv
Ved godt at jeg skal ned i OpenTools API'et, men som sagt efterlyser jeg mere en opskrift på hvad man skal gøre, hvordan man skal gøre, og hvorfor man skal gøre som man gør..

Hvordan tester/debugger man, hvad skal jeg vælge under File->New (bare en tom unit?)...

Altså nogen med erfaring inden for OpenTools API'et, som har været møllen i gennem og kan komme med gode råd og vejledning...
Avatar billede elv Nybegynder
09. juni 2003 - 12:40 #11
Jeg ville nok kigge på:
http://community.borland.com/article/0,1410,20419,00.html
Eller måske et par af de links i bunden af:
http://delphi.about.com/library/weekly/aa033099.htm
(Der er også et par rimelig gode)
Kan ikke hjælpe personligt da jeg ikke har prøvet det før, men hvis jeg kender dig kan du da læse dig frem til det :)
Avatar billede hermandsen Juniormester
09. juni 2003 - 12:58 #12
Hmm... Nogen der kan give mig en hurtig gennemgang af interfaces, og hvordan de bliver brugt, for det er vist gennemgående for at kunne benytte OpenTools... :)
Avatar billede elv Nybegynder
09. juni 2003 - 13:30 #13
Interfaces er en slags abstrakte klasser. Man bruger dem til at definere hvilke metoder en klasse skal implementere. Følgende er et eksempel:

type
  IHelloWorld = interface
    procedure Hej;
  end;

  THelloWorld = class(TInterfacedObject, IHelloWorld)
    procedure Hej; // Hej SKAL med her for ikke at give compiler-fejl.
  end;

  TAnotherHelloWorld = class(TInterfacedObject, IHelloWorld)
    procedure Hej;
  end;


implementation

{ THelloWorld }

procedure THelloWorld.Hej;
begin
  ShowMessage('Hello World');
end;

{ TAnotherHelloWorld }

procedure TAnotherHelloWorld.Hej;
begin
  ShowMessage('Another Hello World');
end;


Man kan så f.eks. bruge denne kode til følgende:

procedure TForm1.Button1Click(Sender: TObject);
var
  O: IHelloWorld;
begin
  O := THelloWorld.Create;
  O.Hej;
  O := TAnotherHelloWorld.Create;
  O.Hej;
end;


Både THelloWorld og TAnotherHelloWorld SKAL have funktionen Hej i sig, og derfor ved man, at man kan kalde funktionen Hej på en type der implementerer IHelloWorld.
Avatar billede hermandsen Juniormester
06. november 2003 - 10:15 #14
Spørgsmålet er p.t. uaktuelt.

Hvis der er nogen der vil ha' lidt point, så smid lige et svar...
Avatar billede hermandsen Juniormester
02. januar 2004 - 22:10 #15
Hmmm... Ingen der ville ha' point!! :(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester