Package erstellen und installieren...
Hallo,
ich will mir aus einer .pas datei ein package machen... Ich mache dazu folgende schritte: - Ich gehe in Delphi 2005 - Datei -> Neu -> Package - Delphi für Win32 - In der Projektverwaltung rechtsklick aufs Package -> Hinzufügen - auf Durchsuchen... und meine .pas auswählen (Jetzt ist sie in 'Contains') - alles abspeichern und compilieren - rechtsklick aufs Package -> Installieren -> Meldung für erfolgreich Wenn ich jetzt ein Projekt öffne ist das Package aber nicht in der Tool-Palette unter Samples zu finden. WIESO, was mache ich falsch??? Habs genau so gemacht wie hier beschrieben (will auch die sendkeys benutzten): Forum-Link DANKE AUF JEDEN FALL SCHONMAL!!!!! :-D :-D :-D :-D :-D |
Re: Package erstellen und installieren...
Wie sieht deine Register-Prozedur aus?
|
Re: Package erstellen und installieren...
hmm sry, ich bin noch noob und weis nicht so ganz was du meinst :(
|
Re: Package erstellen und installieren...
In der Prozedur Register registrierst du die Komponeneten in der IDE.
Delphi-Quellcode:
procedure Register;
begin RegisterComponents('Samples', [ TKompo1, TKompo2, ... ]); end; |
Re: Package erstellen und installieren...
weis zwar noch ned genau wie und wo das jetzt rein soll aber ich werds mal versuchen, wenns ned klappt meld ich mich nochma :wink:
danke auf jeden fall |
Re: Package erstellen und installieren...
bin wohl irgendwie zu blöd oder so... :wall: :wall: :wall:
aber ich schnall ned wo der codeschnippsel rein muss sry... :cry: :cry: :cry: in der sndkey32.pas will ers ned und im quellcode vom package auch ned... sagt mir am besten wo und an welche stelle das muss sonst verzweifel ich hier noch(ich würd hier ned posten wenn ich ned schon seit stunden alles erdenkliche probieren würde) ich-> :coder2: |
Re: Package erstellen und installieren...
In die sndkey32.pas oder einer eigenen Datei (z.B. sndkey32reg.pas).
Kopf in Interface-Abschnitt und gesammte Prozedur in den Implementation-Teil. Was für ein Fehler bringt Delphi? |
Re: Package erstellen und installieren...
also ich hab jetzt
Delphi-Quellcode:
in interface
procedure Register12;
und
Delphi-Quellcode:
in implementation
procedure Register12;
begin RegisterComponents('Samples', [ Sendkeys ]); end; fehler:
Delphi-Quellcode:
[Fehler] sndkey32.pas(132): E2003 Undefinierter Bezeichner: 'RegisterComponents'
[Fehler] sndkey32.pas(132): E2035 Nicht genügend wirkliche Parameter [Fataler Fehler] Package1.dpk(31): F2063 Verwendete Unit '..\..\Desktop\sndkey32.pas' kann nicht compiliert werden |
Re: Package erstellen und installieren...
Di Prozedur RegisterComponents befindet sich in Unit Classes ist diese eingebunden?
Es muß Register heißen nicht Register12 ! |
Re: Package erstellen und installieren...
so, heißt register und Classes is jetzt auch eingebunden...
Delphi-Quellcode:
[Fehler] sndkey32.pas(132): E2035 Nicht genügend wirkliche Parameter
[Fataler Fehler] Package1.dpk(31): F2063 Verwendete Unit '..\..\Desktop\sndkey32.pas' kann nicht compiliert werden |
Re: Package erstellen und installieren...
fast steht in Zeile 132?
|
Re: Package erstellen und installieren...
Delphi-Quellcode:
RegisterComponents('Samples', [ Sendkeys ]);
|
Re: Package erstellen und installieren...
Stell mal bitte die Unit ein.
|
Re: Package erstellen und installieren...
Delphi-Quellcode:
*schon jetzt dafür schäm*
unit sndkey32;
interface Uses SysUtils, Windows, Messages, Classes; Function SendKeys(SendKeysString : PChar; Wait : Boolean) : Boolean; function AppActivate(WindowName : PChar) : boolean; procedure Register; {Buffer for working with PChar's} const WorkBufLen = 40; var WorkBuf : array[0..WorkBufLen] of Char; |
Re: Package erstellen und installieren...
SendKeys ist ja eine Funktion! In der IDE kannst du aber nur Komponenten registrieren. In deinem Fall ist das nicht nötig: Entferne Regiser wieder. Zum verwenden mußt du nur die Unit in die Uses des verwendenen Programms einfügen und kannst dann die Funktion verwenden.
|
Re: Package erstellen und installieren...
Ich befürchte, der Hund liegt viel tiefer begraben. 8) Muß das nicht eine Class sein ? :gruebel: Das hier :
Delphi-Quellcode:
ist nämlich nur eine Prozedur. Das muß IMHO aber zu einee published Methode der Class gemacht werden. So wirst Du die Prozedur womöglich zu Tode registrieren. :mrgreen:
Sendkeys(text : string)
|
Re: Package erstellen und installieren...
zuerst das
Zitat:
Zitat:
also alles was nix mit procedure Register; zu tun hat is ned von mir verbrochen sondern das hab ich mir von der instalations cd gezogen. Also ich habe jetzt procedure Register; wieder oben raus gelöscht... wo soll es jetzt hin??? im moment hab ich noch den gleich fehler |
Re: Package erstellen und installieren...
Welchen Fehler?
|
Re: Package erstellen und installieren...
der da:
Zitat:
|
Re: Package erstellen und installieren...
Vorher stand dort ja die Register-Prozedur. Wenn du diese gelöscht hast, was steht dann jetzt dort?
|
Re: Package erstellen und installieren...
hmm nichts...
Delphi-Quellcode:
unit sndkey32;
interface Uses SysUtils, Windows, Messages, Classes; Function SendKeys(SendKeysString : PChar; Wait : Boolean) : Boolean; function AppActivate(WindowName : PChar) : boolean; //procedure Register; {Buffer for working with PChar's} const WorkBufLen = 40; var WorkBuf : array[0..WorkBufLen] of Char; |
Re: Package erstellen und installieren...
Ist das die ganze Unit?
|
Re: Package erstellen und installieren...
ich denke schon, so geht es zumindest weiter...
Delphi-Quellcode:
:oops: :oops: :oops: :pale: :pale: :pale:
unit sndkey32;
interface Uses SysUtils, Windows, Messages, Classes; Function SendKeys(SendKeysString : PChar; Wait : Boolean) : Boolean; function AppActivate(WindowName : PChar) : boolean; //procedure Register; {Buffer for working with PChar's} const WorkBufLen = 40; var WorkBuf : array[0..WorkBufLen] of Char; implementation type THKeys = array[0..pred(MaxLongInt)] of byte; var AllocationSize : integer; (* Converts a string of characters and key names to keyboard events and passes them to Windows. Example syntax: SendKeys('abc123{left}{left}{left}def{end}456{left 6}ghi{end}789', True); *) procedure Register; begin RegisterComponents('Samples', [ Sendkeys ]); end; Function SendKeys(SendKeysString : PChar; Wait : Boolean) : Boolean; type WBytes = array[0..pred(SizeOf(Word))] of Byte; TSendKey = record Name : ShortString; VKey : Byte; end; . . . |
Re: Package erstellen und installieren...
Entferne die Register.Prozedur komplett.
|
Re: Package erstellen und installieren...
register.prozedur????
merkiere für mich idiot am besten den teil der raus muss |
Re: Package erstellen und installieren...
Alles was du vorhin unter meiner Anleitung eingefügt hast.
|
Re: Package erstellen und installieren...
etwa dann so???
Delphi-Quellcode:
dann gibt es wieder keinen punkt unter Saples...
unit sndkey32;
interface Uses SysUtils, Windows, Messages, Classes; Function SendKeys(SendKeysString : PChar; Wait : Boolean) : Boolean; function AppActivate(WindowName : PChar) : boolean; //procedure Register; {Buffer for working with PChar's} const WorkBufLen = 40; var WorkBuf : array[0..WorkBufLen] of Char; implementation type THKeys = array[0..pred(MaxLongInt)] of byte; var AllocationSize : integer; (* Converts a string of characters and key names to keyboard events and passes them to Windows. Example syntax: SendKeys('abc123{left}{left}{left}def{end}456{left 6}ghi{end}789', True); *) //procedure Register; //begin // RegisterComponents('Samples', [ Sendkeys ]); //end; irgendwie muss es doch möglich sein... soll ich das projekt mal hochladen und einer schaut sich das an??? |
Re: Package erstellen und installieren...
Zitat:
Du könntest natürlich diese Prozedur zu Methode einer (Komponenten-)Klasse machen und diese dann registrieren. |
Re: Package erstellen und installieren...
ok, danke das funktioniert nun :-D :-D :-D :-D
Verstehe nur noch nicht wie dann das hier gemeint war... Link Danke an alle, die geholfen haben... Jetzt erst mal n bier... :cheers: :dp: :dp: :dp: |
Re: Package erstellen und installieren...
|
Re: Package erstellen und installieren...
glaub ich auch :oops:
danke nochma |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz