Seite 1 von 1

Keine Strings in CallFunction()?

Verfasst: 14.08.2009 19:25
von Pandorra
seit PB.4.40 Beta 1 krieg ich bei

Code: Alles auswählen


Procedure.s SqlNew(id.l, table.s, primarykey.l)

ProcedureReturn PeekS(CallFunction(1, "SqlNew", id, table, primarykey))

EndProcedure

Die Meldung Zahl anstelle eines Strings erwartet.
Wenn ich table.l oder ähnliches schreibe kommt keine Meldung.

Hier der Code aus der DLL:

Code: Alles auswählen


ProcedureDLL.s SqlNew(id.l, table.s, primarykey.l)
  String$ = ""
   yy = 0
  If DatabaseQuery(id, "SELECT * FROM " + table) 
    While NextDatabaseRow(id)
    yy+1
    If yy = primarykey
      For z0.l = 1 To DatabaseColumns(id) - 1
        String$ + "'" + GetDatabaseString(id, z0) + "'"
        
        If z0 < DatabaseColumns(id) - 1
        String$ + ", "
        EndIf
      Next z0 
      ProcedureReturn String$
     EndIf
    Wend 
    
    If z0 > 0 
    
      ProcedureReturn String$
    Else 
    
    EndIf 
  Else 
  
  EndIf 
EndProcedure

nach dem "zurückpatchen" auf PB. 4.31 erhalte ich keinen Fehler.
Mache ich einen Fehler , den PB 4.31 nicht erkennt oder handelt es sich um einen Bug?

Verfasst: 14.08.2009 19:31
von Deluxe0321
http://forums.purebasic.com/german/view ... 051#253051:
- Changed: Call(C)Function(Fast) parameters have been changed from 'Any' to 'Integer'.
Also entwerder @"Dein String" verwenden oder Prototyps

Grüße Marv

Verfasst: 15.08.2009 19:04
von Pandorra
ah danke...

Hab ich wohl überlesen.

Verfasst: 15.08.2009 19:23
von LCD
Pandorra hat geschrieben:ah danke...

Hab ich wohl überlesen.
Ich auch! :oops: