Italia
Bugs und vermeintliche

Strano comportamento bei Parameterübergabe an PROC

 

Uwe
''Pascal''
Niemeier
Hallo Roland!

Wirf mal einen Blick hierauf (XProfan 11.1):
KompilierenMarkierenSeparieren
window 10,10-500,500
declare Demo&,Dummy&--Geht
declare Demo&,Dummy%--Geht nicht
declare Demo&----------Geht nicht

proc Test----------------------------------

    parameters Text$,Pointer&
    long Pointer&,0=123
    endproc-------------------------------------
    Test(Text,addr(Demo&))
    print Test 1:,Demo&
    Test(Text,addr(Demo&))
    print Test 2:,Demo&
    KompilierenMarkierenSeparieren
proc Test----------------------------------

    parameters Pointer&
    endproc-------------------------------------
    declare Dummy&--Damit geht es
    var Demo&=123
    print addr(Demo&),Demo&
    Test(addr(Demo&))
    print addr(Demo&),Demo&
    Test(addr(Demo&))
    print addr(Demo&),Demo&
    waitkey

Hierbei ändert sich die Adresse, an der Demo&  liegt, durch den 1. Proc-Aufruf, allerdings nur, wenn der übergebene Wert per Parameters  ausgelesen wird.

Mit XProfan 10 reagiert alles wie erwartet.
Da stimmt doch was nicht ?!

PS: War ja klar, daß ausgerechnet ich circa sowas stolpere

SeeYou
Pascal
 
23.01.2009  
 




RGH
Da scheint die dynamische Gestione della memoria noch einen unerwünschten Nebeneffekt zu haben. Die Adresse einer Variablen sollte sich eigentlich nicht verändern. Und offensichtlich tut sie es nur, wenn ein Variablentyp nur einmal vorkommt. Gut, dass das in den allermeisten Programmen so nicht vorkommt ... ich werde mich in einer ruhigen Minute darum kümmern!

Saluto
Roland

PS: Ich hatte ja fast gerechnet, dass es irgendwann noch ein paar finora unentdeckte Spätfolgen dieser Operation dynamischer Speicheicherverbrauch geben würde. Auch wenn man es von außen nicht sieht, so war es programmtechnisch doch die aufwändigste und gefährlichste Cambiamento von XProfan 10 auf XProfan 11. Aber erst dadurch wurden dynamischer Arrays possibile und einige Grenzen eingerissen, die mich schon lange störten.
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
23.01.2009  
 




RGH
Nachtrag:

So wie es aussieht, habe Io l' Übeltäter entdeckt (ein seltsames Comportamento di Delphi bei OpenArrays) und ausgetrixt. In der nächsten Version wird es also klappen. (Hatten wir nicht auch in der Betaphase Probleme mit flatterhaften Variablenadressen im Zusammenhang mit OCX?)

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
23.01.2009  
 




Uwe
''Pascal''
Niemeier
Roland
Hatten wir nicht auch in der Betaphase Probleme mit flatterhaften Variablenadressen im Zusammenhang mit OCX?


Was meinst du, wie Io l' Fehler entdeckt habe?
Dann kann ich ja das Projekt ocx per XProfan 11 erstmal ruhen lassen

SeeYou
Pascal
 
23.01.2009  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.541 Views

Untitledvor 0 min.
RudiB.06.04.2020
Jörg Sellmeyer04.11.2011

Themeninformationen

Dieses Thema hat 2 subscriber:

RGH (2x)
Uwe ''Pascal'' Niemeier (2x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie