Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Suspicious pointer assignment?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 18.08.2007, 10:10    Titel: Suspicious pointer assignment? Antworten mit Zitat

Hi,
hab mal wieder ein kleines Problem mit zugriffen auf Pointer.

Ein einfaches Beispiel:
Code:

DIM Farbe AS UINTEGER
DIM FarbeP AS UBYTE PTR=@Farbe

Farbe=&H123456
?Hex(FarbeP[2],2);Hex(FarbeP[1],2);Hex(FarbeP[0],2)
sleep


Es funktioniert zwar problemlos in der IDE, aber der Compiler
gibt mir eine Warnung dazu aus, wieso?

Compiler output: hat Folgendes geschrieben:

D:/FreeBASIC/FBIDETEMP.bas(3) warning 4(1): Suspicious pointer assignment

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 18.08.2007, 10:15    Titel: Antworten mit Zitat

mit den Augen rollen
Habs schon, Sorry

Code:

DIM Farbe AS UINTEGER
Dim FarbePP as Any Ptr=@Farbe
DIM FarbeP AS UBYTE PTR=FarbePP

Farbe=&H123456

?Hex(FarbeP[2],2);Hex(FarbeP[1],2);Hex(FarbeP[0],2)

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 18.08.2007, 14:46    Titel: Antworten mit Zitat

o_O

du kannst auch UINTEGER PTR nehmen statt ANY PTR, das wäre glaub ich passender, und den zweiten pointer kannste auch als UINTEGER PTR PTR definieren glaube ich, aber da bin ich mir nich so sicher.. aber wenn du halt auf nen UBYTE PTR ein @uIntArray zuweist, is klar das der da meckert ;p
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 18.08.2007, 14:58    Titel: Antworten mit Zitat

Code:

Dim Irgendwas as UInteger
Dim IrgendwasIntP as UInteger PTR=@Irgendwas
Dim IrgendwasByteP as UByte Ptr=IrgendwasIntP

So, gehts nicht...
Code:

Dim Irgendwas as UInteger
Dim IrgendwasIntP as Any PTR=@Irgendwas
Dim IrgendwasByteP as UByte Ptr=IrgendwasIntP

So gehts...

Der sinn dahinter ist das ich in diesem Fall Irgendwas einen Farbwert verpassen will und ich ohne umstaendliches rechnen die einzelnen RGB Werte entnehmen will...
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 18.08.2007, 20:02    Titel: Antworten mit Zitat

Wie funktioniert dies?
Code:
Dim Farbe As Uinteger
Dim FarbeP As Ubyte Ptr= cast(Ubyte Ptr, @Farbe)

Farbe=&H123456
?Hex(FarbeP[2],2);Hex(FarbeP[1],2);Hex(FarbeP[0],2)
Sleep
happy
FB will nur die richtige Formulierung haben. mit den Augen rollen
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 18.08.2007, 20:04    Titel: Antworten mit Zitat

das ist schon viel besser happy
da kann ich mir diese eine extra deklaration des any ptr wieder sparen lächeln
Danke
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz