Aktuelle Zeit: 05.07.2020 19:43

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Variable *Parameters innerhalb einer Procedure
BeitragVerfasst: 15.08.2019 09:03 
Offline

Registriert: 26.04.2019 10:31
Wohnort: Mühldorf am Inn
Guten Morgen,
ich bekomm hier die Fehlermeldung, dass *Parameters keine Structure hat, obwohl es definiert ist.
Komm nicht drauf, wo der Fehler liegen könnte, hab es schon mit Global versucht, aber selbes Ergebnis.

Code:
Enumeration Window
   #VideoConverter
   #Textausgabe
   #button
EndEnumeration   

Structure VideoDatei
FileName$
Abschluss.i
EndStructure

Define Parameters.VideoDatei
;Global Parameters.VideoDatei

Procedure MyThread(*Parameters.VideoDatei)
    Define ShellPrg, Filename$, Dummy$
    Debug *Parameters\FileName$
    Debug *Parameters\Abschluss
 ;   ShellPrg= RunProgram("youtube-dl", Chr(32) + FileName$, "",  #PB_Program_Open | #PB_Program_Write | #PB_Program_Read | #PB_Program_Error)
    *Parameters\Abschluss = 1
  EndProcedure

Procedure Download()
   Define i, DelFlag, Filename$, *Parameters
    For i= 1 To 9
    FileName$ = GetGadgetText (i)
    If FileName$ <> "" And GetGadgetState(i) = 1
      Debug FileName$
      *Parameters\FileName$ = FileName$
      *Parameters\Abschluss = 0
 ;     CreateThread ( @MyThread () , *Parameters.VideoDatei)
    EndIf
    Next
 EndProcedure   

Procedure Open_MainScreen()
OpenWindow(#VideoConverter, 0, 0, 400, 200, "VideoConverter",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
   EditorGadget(#Textausgabe,10,10,380,40)
   ButtonGadget(#button,300,170,90,20,"Download")
EndProcedure

Open_MainScreen()

Repeat
   Select WaitWindowEvent()       
      Case #PB_Event_Gadget   
         Select EventGadget()
            Case #button
              Download()             
         EndSelect
      Case  #PB_Event_CloseWindow
         Ende=#True
   EndSelect     
Until Ende=#True


Dank schon mal im Vorab
Kurt

_________________
Wenn einem die einfachen Dinge net einfallen, klappt's meistens umständlich...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Variable *Parameters innerhalb einer Procedure
BeitragVerfasst: 15.08.2019 09:09 
Offline
Benutzeravatar

Registriert: 29.08.2004 08:37
Sommertv hat geschrieben:
Guten Morgen,
ich bekomm hier die Fehlermeldung, dass *Parameters keine Structure hat, obwohl es definiert ist.

In Download jedoch nicht mit Structure:
Code:
Procedure Download()
   Define i, DelFlag, Filename$
   Define *Parameters.VideoDatei


Aber das wird dennoch so nicht klappen, weil *Parameters dann erstmal auf Adresse 0 zeigt. Du müsstest dann mit AllocateMemory o.ä. genügend Speicher reservieren und am Ende auch freigeben.

_________________
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Variable *Parameters innerhalb einer Procedure
BeitragVerfasst: 15.08.2019 10:43 
Offline

Registriert: 26.04.2019 10:31
Wohnort: Mühldorf am Inn
Supi, danke das war es..
Du meinst so:

Code:
Procedure Download()
   Define i, DelFlag, Filename$, *Parameters.VideoDatei
  *Parameters.VideoDatei = AllocateMemory(SizeOf(VideoDatei))

_________________
Wenn einem die einfachen Dinge net einfallen, klappt's meistens umständlich...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Variable *Parameters innerhalb einer Procedure
BeitragVerfasst: 15.08.2019 12:39 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Ich verwendet meistens AllocateStructure...

Mit FreeStructure werden dann auch der Speicher von den String mit freigegeben, sonst hast du mit FreeMemory ein Speicherleck.

_________________
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf My Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Variable *Parameters innerhalb einer Procedure
BeitragVerfasst: 15.08.2019 13:19 
Offline
Benutzeravatar

Registriert: 04.08.2009 17:24
mk-soft hat geschrieben:
Mit FreeStructure werden dann auch der Speicher von den String mit freigegeben, ...

+ Array werden freigegeben
+ Lists werden freigegeben
+ Maps werden freigegeben


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye