Toon posts:

[delphi] TMSNPopUp.Options

Pagina: 1
Acties:
  • 109 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben bezig om met de TMSNPopUp unit bij delphi zo'n MSN Popup te maken.
Ik heb nu dit

code:
1
2
  MSNPopUp.Text := 'Tekst';
  MSNPopUp.ShowPopUp;


alleen daarmee geeft hij een Acces Violation. Toen heb ik even verdergezocht en toen kwam ik erachter dat je ook nog TMSNPopUp.Options moest invullen. Kheb al met google gezocht, maar ik weet niet welke waardes ik deze moet toewijzen. Kan iemand me hierbij helpen? want er zit geen readme bij de unit.

  • WOmBaT
  • Registratie: September 2000
  • Laatst online: 30-11-2025

WOmBaT

Nyaaa!!!

Stomme vraag misschien maar heb je dat component al gecreeerd?

Verwijderd

Topicstarter
Heb ik ook al geprobeerd
MSNPopUp.Create wordt het dan,
maar dan zegt geeft hij de error Not enough actual parameters
Ik kan over deze functies nergens wat vinden, niet eens op de website van de auteur.

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button1Click(Sender: TObject);
var popup: TMSNPopup;
begin
popup := TMSNPopup.Create(self);
popup.Text := 'Hellow';
popup.Width := 100;
popup.Height := 100;
popup.ScrollSpeed := 10;
popup.PopupStartX := 10;
popup.PopupStartY := 10;
popup.ShowPopUp;
end;


Geen problemen hier hoor :)

Thnx voor het aan mij laten zien dat dit bestaat _O_ :D

[edit]
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button1Click(Sender: TObject);
var popup: TMSNPopup;
begin
popup := TMSNPopup.Create(self);
popup.Text := 'Hellow';
//popup.Width := 100;
//popup.Height := 100;
//popup.ScrollSpeed := 10;
//popup.PopupStartX := 10;
//popup.PopupStartY := 10;
popup.ShowPopUp;
end;


Zo doet ie het hier ook prima? :? Heb je wel de goeie Delphi-versie toevallig? :?

[ Voor 36% gewijzigd door Osiris op 18-01-2003 14:02 ]


Verwijderd

Topicstarter
:) thnx dit is een declaratie waar ik echt wat aan heb

ik had hem de hele tijd op
code:
1
2
3
4
begin  
  TMSNPopup.Create(); 
  TMSNPopup.Text := 'Tekst';
  TMSNPopup.ShowPopup;

beetje dom dat ik het niet zag 8)7

[ Voor 62% gewijzigd door Verwijderd op 18-01-2003 14:05 ]


  • WOmBaT
  • Registratie: September 2000
  • Laatst online: 30-11-2025

WOmBaT

Nyaaa!!!

Verwijderd schreef op 18 January 2003 @ 14:02:
:) thnx dit is een declaratie waar ik echt wat aan heb

ik had hem de hele tijd op
Delphi:
1
2
3
4
begin  
  TMSNPopup.Create(); 
  TMSNPopup.Text := 'Tekst';
  TMSNPopup.ShowPopup;

beetje dom dat ik het niet zag 8)7
Objecten kun je nooit creeeren in de vorm
Delphi:
1
TObject.Create(); 

Dan probeer je namelijk een functie van een object aan te roepen, terwijl het object nog niet bestaat. Je moet dus een object op de volgende manier creeeren.
Delphi:
1
2
3
4
5
6
var 
   object: TObject;
begin
   object := TObject.Create(parameters);

...

  • Osiris
  • Registratie: Januari 2000
  • Niet online
WOmBaT schreef op 18 januari 2003 @ 14:11:
[...]

Objecten kun je nooit creeeren in de vorm
Delphi:
1
TObject.Create(); 

Dan probeer je namelijk een functie van een object aan te roepen, terwijl het object nog niet bestaat. Je moet dus een object op de volgende manier creeeren.
Delphi:
1
2
3
4
5
6
var 
   object: TObject;
begin
   object := TObject.Create(parameters);

...
Daarom dus:
Delphi:
1
Popup := TMSNPopup.Create(self);

met de nadruk op SELF :) Dan werkt 't prima iig :D

Verwijderd

Fijn om te lezen dat het opgelost is, ik vind het ook leuk om dit hier te lezen, omdat ik dit component heb gemaakt.

Het component doet wat de naam eigenlijk al zegt. Je kunt er popup-vensters mee maken in de stijl die MSN Messenger ook gebruikt. Twee screenshots staan de eerdergenoemde URL.

Overigens is er ook ondersteuning voor de Object Inspector, je kunt een TMSNPopUp component dus gewoon als icoontje op je form zetten, zodat je daar de eigenschappen kunt bewerken. Dat is wat makkelijk dan de manier die hier door de topicstarter werd gebruikt. In sommige gevallen is het misschien wel noodzakelijk om de popup dynamisch te maken, maar ik denk dat het meestal niet per se nodig is.

[ Voor 18% gewijzigd door Verwijderd op 18-01-2003 15:18 ]


  • lordsnow
  • Registratie: Maart 2000
  • Laatst online: 22-08 10:41

lordsnow

I know nothing

Die "Balloon" is ook heel erg mooi :) wd JWB :)

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op 18 januari 2003 @ 14:49:
In sommige gevallen is het misschien wel noodzakelijk om de popup dynamisch te maken, maar ik denk dat het meestal niet per se nodig is.
Mjah, bij MSN heb je het zo, dat als na popup X direct een popup Y komt, dat popup X dan verder omhoog schuift.. En dat kan niet met maar 1 popup natuurlijk :) (niet dat die van jou nog verder omhoog schuiven, daar niet van :o )

Maar ff iets anders:

Hoe zit het nu wel met die TMSNPopUp.Options? Property: TMSNPopupOptions;??? Want die staat niet in de Help ;) :o

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:42
[nohtml]
WOmBaT schreef op 18 januari 2003 @ 14:11:
[...]

Objecten kun je nooit creeeren in de vorm
Delphi:
1
TObject.Create(); 


Dan probeer je namelijk een functie van een object aan te roepen, terwijl het object nog niet bestaat. Je moet dus een object op de volgende manier creeeren.
Nee hoor, dit heeft hier niets mee te maken. Je roept geen functie aan van een object dat nog niet bestaat, je creeërt met bovenstaande code gewoon een object. Je roept gewoon de constructor aan. (Check ook dat je niet de naam van het object gebruikt, maar de naam van de class [TObject]).

De topicstarter had gewoon vergeten om een parameter mee te geven, die die constructor nodig had.
Delphi:
1
2
3
4
var 
   object: TObject;
begin
   object := TObject.Create(parameters);
Wat jij hier doet is gewoon hetzelfde als in het voorgaande stukje code, alleen geef je hier een parameter mee aan de constructor, en stop je het gemaakte object nu ook werkelijk in een object. (:+)

tip voor de topicstarter:
in het vervolg eens goed kijken in de help of code completion. Desnoods in de source files.
Als je compiler een error geeft ala 'parameter expected', dan weet je gewoon dat je een parameter te weinig meegegeven hebt aan je functie

https://fgheysels.github.io/


Verwijderd

Osiris schreef op 18 januari 2003 @ 15:03:
Mjah, bij MSN heb je het zo, dat als na popup X direct een popup Y komt, dat popup X dan verder omhoog schuift.. En dat kan niet met maar 1 popup natuurlijk :) (niet dat die van jou nog verder omhoog schuiven, daar niet van :o )
Wanneer je meerdere popups achter elkaar laat verschijnen, komt de nieuwste popup bij mijn component steeds 'bovenop' de vorige popup te liggen, mits die nog op het scherm staat.
Hoe zit het nu wel met die TMSNPopUp.Options? Property: TMSNPopupOptions;??? Want die staat niet in de Help ;) :o
Voor zover ik weet is er niet eens een help bij het hele component (ik heb er nooit uitgebreide help bij gemaakt), maar de Options-property is een set, die als volgt is gedefinieerd:
code:
1
2
3
4
  TMSNPopupOption = (msnAutoOpenURL, msnSystemFont, msnCascadePopups,
    msnAllowScroll, msnAllowHyperlink);
  
  TMSNPopupOptions = Set Of TMSNPopupOption;
Elk van deze 'flags' stelt een optie voor: msnAutoOpenURL opent autom. een browservenster, msnSystemFont probeert het standaardlettertype uit de windowsinstellingen te halen, msnCascadePopups 'stapelt' de popups boven elkaar op als er meerdere zijn, msnAllowScroll geeft aan of de popup wel/niet moet scrollen, en msnAllowHyperlink geeft aan of er een hyperlink of gewone tekst in de popup staat.

[ Voor 4% gewijzigd door Verwijderd op 18-01-2003 15:17 ]


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op 18 January 2003 @ 15:16:
[...]
Wanneer je meerdere popups achter elkaar laat verschijnen, komt de nieuwste popup bij mijn component steeds 'bovenop' de vorige popup te liggen, mits die nog op het scherm staat.
[...]
Voor zover ik weet is er niet eens een help bij het hele component (ik heb er nooit uitgebreide help bij gemaakt), maar de Options-property is een set, die als volgt is gedefinieerd:
code:
1
2
3
4
  TMSNPopupOption = (msnAutoOpenURL, msnSystemFont, msnCascadePopups,
    msnAllowScroll, msnAllowHyperlink);
  
  TMSNPopupOptions = Set Of TMSNPopupOption;
Elk van deze 'flags' stelt een optie voor: msnAutoOpenURL opent autom. een browservenster, msnSystemFont probeert het standaardlettertype uit de windowsinstellingen te halen, msnCascadePopups 'stapelt' de popups boven elkaar op als er meerdere zijn, msnAllowScroll geeft aan of de popup wel/niet moet scrollen, en msnAllowHyperlink geeft aan of er een hyperlink of gewone tekst in de popup staat.
Call me a n00b, maar htf gebruik je dat? :?

Verwijderd

Osiris schreef op 18 January 2003 @ 15:25:
[...]

Call me a n00b, maar htf gebruik je dat? :?
Ik zou het zo doen:
Afbeeldingslocatie: http://people.zeelandnet.nl/famboek/delphi/images/msnpopup-oi.png

In de code kan het ook:
code:
1
2
3
4
procedure TForm1.FormCreate(Sender: TObject);
begin
  MSNPopUp1.Options := [msnAllowHyperlink, msnSystemFont];
end;

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op 18 January 2003 @ 15:44:
[...]
Ik zou het zo doen:
[afbeelding]

In de code kan het ook:
code:
1
2
3
4
procedure TForm1.FormCreate(Sender: TObject);
begin
  MSNPopUp1.Options := [msnAllowHyperlink, msnSystemFont];
end;
Aaah, [] ipv () enzo, dat was hem :) Thnx _O_

Verwijderd

Topicstarter
Verwijderd schreef op 18 januari 2003 @ 15:44:
[...]
Ik zou het zo doen:
[afbeelding]

In de code kan het ook:
code:
1
2
3
4
procedure TForm1.FormCreate(Sender: TObject);
begin
  MSNPopUp1.Options := [msnAllowHyperlink, msnSystemFont];
end;
Hoe krijg je die TMSNPopup in de Object Inspector?

  • Just_a_Gamer
  • Registratie: November 2001
  • Laatst online: 22:48
euhmm gewoon de delphi packages installeren Als het goed is zal er dan een tabblad met msnPopup component. Die kan je gewoon op je form gooien oid :?

Verwijderd

Verwijderd schreef op 19 januari 2003 @ 03:00:Hoe krijg je die TMSNPopup in de Object Inspector?
Inderdaad, zoals hiervoor al werd gezegd, je moet in Delphi zelf het bestandje aan een package toevoegen. De makkelijkste manier:

Component, Install Component..., Browse..., dan msnPopup.pas selecteren, en op OK klikken. Vervolgens kijk je op het tabblad 'Custom', en daar staat een icoontje bij met de tekst 'MSN' erin. Die kun je op je form zetten, en via de Object Inspector kun je de eigenschappen wijzigen. Succes!
Pagina: 1