JS >> JSAPI >> c++(dll) >> externe Anwendung , Datentypen?
-
Hi ich bin neu hier und auch bei c++ und habe direkt eine bzw mehrere Fragen.
Ich möchte mein Adobe Flash mittels der implementierten [url="http://developer.mozilla.org/en/docs/Category:JSAPI_Reference"]JSAPI[/url] über die [url="http://livedocs.adobe.com/flash/9.0_de/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts_bak&file=00004601.html"]c-level erweiterbarkeit[/url] erweitern und komme irgendwie nicht weiter.
folgender ablauf:
comandline wird über eine jsfl datei die die JSAPI ansteuert an eine implementierte dll gesendet.dll wird ausgeführt und soll den empfangenen "String" (eine komandozeile die an die shell bzw konsole ausgegeben werden soll) dann intern ausführen so das ich zum beispiel ein Ping durchführen kann oder (endziel) einen svn client ansprechen kann.
soweit so gut, ich bekomme das ganze auch soweit lauffähig hin bis zu dem punkt wo ich die empfangene Comandozeile vom Datentyp her aus umwandeln soll.
mit einem hardcodet commando läuft die dll und ich erhalte "0" als rückgabewert.
mit dem umgewandelten commando geht zwar meine windows dosbox auf aber ich erhalte 1 als rückgabe wert..
noch zu erwähnen wäre das das ganze sowohl auf win als auch auf mac laufen soll !!!
bei der compilierung der dll treten folgende warnungen auf:
1>Kompilieren...
1>CIA_Media_Executer.c
1>.\CIA_Media_Executer.c(34) : warning C4133: ':': Inkompatible Typen - von 'char *' zu 'unsigned short *'
1>.\CIA_Media_Executer.c(34) : warning C4133: '=': Inkompatible Typen - von 'unsigned short *' zu 'char *'
1>Verknüpfen...die quelldate sieht folgendermassen aus:
#include <TChar.h> #include "mm_jsapi.h" // Every implementation of a Javascript function must have this signature //JSBool computeSum(JSContext *cx, JSObject *obj, unsigned int argc, jsval *argv, jsval *rval) //JSBool executeCommand(JSContext *cx, JSObject *obj, unsigned int argc, jsval *argv, jsval *rval) JSBool executeCommand(JSContext *cx, JSObject *obj, unsigned int argc, jsval *argv, jsval *rval) { char *commandString; unsigned int length; long resultString; //***long a, b, sum; // Make sure the right number of arguments were passed in if (argc != 2) return JS_FALSE; // Convert the two arguments from jsvals to longs /***** if (JS_ValueToInteger(cx, argv[0], &a) == JS_FALSE || JS_ValueToInteger(cx, argv[1], &b) == JS_FALSE) return JS_FALSE; *****/ if (JS_ValueToInteger(cx, argv[1], &length) == JS_FALSE) return JS_FALSE; commandString = JS_ValueToString(cx, argv[0], &length); if (commandString == JS_FALSE) return JS_FALSE; // Perform the actual work //****sum = a + b; //resultString = system("ping.exe localhost"); resultString = system(commandString); // Package the return value as a jsval //***___*rval = JS_IntegerToValue(sum); *rval = JS_IntegerToValue(resultString); // Indicate success return JS_TRUE; } // MM_STATE is a macro that expands to some definitions that are // needed in order interact with Dreamweaver. This macro must be // defined exactly once in your library MM_STATE // Flash calls MM_Init when your library is loaded void MM_Init() { // sample function JS_DefineFunction(_T("executeCommand"), executeCommand, 1); }
wie man schon an den remarks sehen kann hab ich einfach versucht die beispielanwendung umzuändern, welche im original so aussieht :
#include <TChar.h> #include "mm_jsapi.h" // A sample function // Every implementation of a Javascript function must have this signature JSBool computeSum(JSContext *cx, JSObject *obj, unsigned int argc, jsval *argv, jsval *rval) { long a, b, sum; // Make sure the right number of arguments were passed in if (argc != 2) return JS_FALSE; // Convert the two arguments from jsvals to longs if (JS_ValueToInteger(cx, argv[0], &a) == JS_FALSE || JS_ValueToInteger(cx, argv[1], &b) == JS_FALSE) return JS_FALSE; // Perform the actual work sum = a + b; // Package the return value as a jsval *rval = JS_IntegerToValue(sum); // Indicate success return JS_TRUE; } // MM_STATE is a macro that expands to some definitions that are // needed in order interact with Dreamweaver. This macro must be // defined exactly once in your library MM_STATE // Flash calls MM_Init when your library is loaded void MM_Init() { // sample function JS_DefineFunction(_T("computeSum"), computeSum, 2); }
weiterhin enthaltene dateien:
mm_jsapi.h
#ifndef _MM_JSAPI_H_ #define _MM_JSAPI_H_ /***************************************************************************** * Public data types ****************************************************************************/ typedef struct JSContext JSContext; typedef struct JSObject JSObject; typedef long jsval; #ifndef JSBool typedef long JSBool; #endif typedef JSBool (*JSNative)(JSContext *cx, JSObject *obj, unsigned int argc, jsval *argv, jsval *rval); /* Possible values for JSBool */ #define JS_TRUE 1 #define JS_FALSE 0 /***************************************************************************** * Public functions ****************************************************************************/ /* JSBool JS_DefineFunction(unsigned short *name, JSNative call, unsigned int nargs) */ #define JS_DefineFunction(n, c, a) \ (mmEnv.defineFunction ? (*(mmEnv.defineFunction))(mmEnv.libObj, n, c, a) \ : JS_FALSE) /* unsigned short *JS_ValueToString(JSContext *cx, jsval v, unsigned int *pLength) */ #define JS_ValueToString(c, v, l) \ (mmEnv.valueToString ? (*(mmEnv.valueToString))(c, v, l) : (char *)0) /* unsigned char *JS_ValueToBytes(JSContext *cx, jsval v, unsigned int *pLength) */ #define JS_ValueToBytes(c, v, l) \ (mmEnv.valueToBytes ? (*(mmEnv.valueToBytes))(c, v, l) : (unsigned char *)0) /* JSBool JS_ValueToInteger(JSContext *cx, jsval v, long *lp); */ #define JS_ValueToInteger(c, v, l) \ (mmEnv.valueToInteger ? (*(mmEnv.valueToInteger))(c, v, l) : JS_FALSE) /* JSBool JS_ValueToDouble(JSContext *cx, jsval v, double *dp); */ #define JS_ValueToDouble(c, v, d) \ (mmEnv.valueToDouble ? (*(mmEnv.valueToDouble))(c, v, d) : JS_FALSE) /* JSBool JS_ValueToBoolean(JSContext *cx, jsval v, JSBool *bp); */ #define JS_ValueToBoolean(c, v, b) \ (mmEnv.valueToBoolean ? (*(mmEnv.valueToBoolean))(c, v, b) : JS_FALSE) /* JSBool JS_ValueToObject(JSContext *cx, jsval v, JSObject **op); */ #define JS_ValueToObject(c, v, o) \ (mmEnv.valueToObject ? (*(mmEnv.valueToObject))(c, v, o) : JS_FALSE) /* JSBool JS_StringToValue(JSContext *cx, unsigned short *bytes, uint sz, jsval *vp); */ #define JS_StringToValue(c, b, s, v) \ (mmEnv.stringToValue ? (*(mmEnv.stringToValue))(c, b, s, v) : JS_FALSE) /* JSBool JS_BytesToValue(JSContext *cx, unsigned char *bytes, uint sz, jsval *vp); */ #define JS_BytesToValue(c, b, s, v) \ (mmEnv.bytesToValue ? (*(mmEnv.bytesToValue))(c, b, s, v) : JS_FALSE) /* JSBool JS_DoubleToValue(JSContext *cx, double dv, jsval *vp); */ #define JS_DoubleToValue(c, d, v) \ (mmEnv.doubleToValue ? (*(mmEnv.doubleToValue))(c, d, v) : JS_FALSE) /* jsval JS_IntegerToValue(long lv); */ #define JS_IntegerToValue(lv) (((jsval)(lv) << 1) | 0x1) /* jsval JS_BooleanToValue(JSBool bv); */ #define JS_BooleanToValue(bv) (((jsval)(bv) << 3) | 0x6) /* jsval JS_ObjectToValue(JSObject *obj); */ #define JS_ObjectToValue(ov) ((jsval)(ov)) /* unsigned short *JS_ObjectType(JSObject *obj); */ #define JS_ObjectType(o) \ (mmEnv.objectType ? (*(mmEnv.objectType))(o) : (char *)0) /* JSObject *JS_NewArrayObject(JSContext *cx, unsigned int length, jsval *v) */ #define JS_NewArrayObject(c, l, v) \ (mmEnv.newArrayObject ? (*(mmEnv.newArrayObject))(c, l, v) : (JSObject *)0) /* long JS_GetArrayLength(JSContext *cx, JSObject *obj) */ #define JS_GetArrayLength(c, o) \ (mmEnv.getArrayLength ? (*(mmEnv.getArrayLength))(c, o) : -1) /* JSBool JS_GetElement(JSContext *cx, JSObject *obj, jsint idx, jsval *vp) */ #define JS_GetElement(c, o, i, v) \ (mmEnv.getElement ? (*(mmEnv.getElement))(c, o, i, v) : JS_FALSE) /* JSBool JS_SetElement(JSContext *cx, JSObject *obj, jsint idx, jsval *vp) */ #define JS_SetElement(c, o, i, v) \ (mmEnv.setElement ? (*(mmEnv.setElement))(c, o, i, v) : JS_FALSE) /* JSBool JS_ExecuteScript(JSContext *cx, JSObject *obj, unsigned short *script, * unsigned int sz, jsval *rval) */ #define JS_ExecuteScript(c, o, s, z, r) \ (mmEnv.executeScript ? (*(mmEnv.executeScript))(c, o, s, z, (LPCTSTR)__FILE__, \ __LINE__, r) : JS_FALSE) /* JSBool JS_ReportError(JSContext *cx, unsigned short *error, unsigned int sz) */ #define JS_ReportError(c, e, s) \ (mmEnv.reportError ? (*(mmEnv.reportError))(c, e, s) : JS_FALSE) /***************************************************************************** * Private data types, macros, and globals ****************************************************************************/ typedef struct { JSObject *libObj; JSBool (*defineFunction)(JSObject *libObj, unsigned short *name, JSNative call, unsigned int nargs); unsigned short *(*valueToString)(JSContext *cx, jsval v, unsigned int *pLength); unsigned char *(*valueToBytes)(JSContext *cx, jsval v, unsigned int *pLength); JSBool (*valueToInteger)(JSContext *cx, jsval v, long *lp); JSBool (*valueToDouble)(JSContext *cx, jsval v, double *dp); JSBool (*valueToBoolean)(JSContext *cx, jsval v, JSBool *bp); JSBool (*valueToObject)(JSContext *cx, jsval v, JSObject **op); JSBool (*stringToValue)(JSContext *cx, unsigned short *b, unsigned int sz, jsval *vp); JSBool (*bytesToValue)(JSContext *cx, unsigned char *b, unsigned int sz, jsval *vp); JSBool (*doubleToValue)(JSContext *cx, double dv, jsval *vp); unsigned short *(*objectType)(JSObject *obj); JSObject *(*newArrayObject)(JSContext *cx, unsigned int length, jsval *vp); long (*getArrayLength)(JSContext *cx, JSObject *obj); JSBool (*getElement)(JSContext *cx, JSObject *obj, unsigned int idx, jsval *vp); JSBool (*setElement)(JSContext *cx, JSObject *obj, unsigned int idx, jsval *vp); JSBool (*executeScript)(JSContext *cx, JSObject *obj, unsigned short *script, unsigned int sz, unsigned short *file, unsigned int lineNum, jsval *rval); JSBool (*reportError)(JSContext *cx, unsigned short *error, unsigned int sz); } MM_Environment; extern MM_Environment mmEnv; // Declare the external entry point and linkage #ifdef _WIN32 # ifndef _MAC // Windows __declspec( dllexport ) void MM_InitWrapper( MM_Environment *env, unsigned int envSize ); # endif #else extern void MM_InitWrapper( MM_Environment *env, unsigned int envSize ); #endif #define MM_STATE \ /* Definitions of global variables */ \ MM_Environment mmEnv; \ \ void \ MM_InitWrapper(MM_Environment *env, unsigned int envSize) \ { \ extern void MM_Init(); \ \ char **envPtr = (char **)env; \ char **mmPtr = (char **)(&mmEnv); \ char **envEnd = (char **)((char *)envPtr + envSize); \ char **mmEnd = (char **)((char *)mmPtr + sizeof(MM_Environment)); \ \ /* Copy fields from env to mmEnv, one pointer at a time */ \ while (mmPtr < mmEnd && envPtr < envEnd) \ *mmPtr++ = *envPtr++; \ \ /* If env doesn't define all of mmEnv's fields, set extras to NULL */ \ while (mmPtr < mmEnd) \ *mmPtr++ = (char *)0; \ \ /* Call user's MM_Init function */ \ MM_Init(); \ } \ #endif /* _MM_JSAPI_H_ */
und der header der c datei
// The following ifdef block is the standard way of creating macros which make exporting // from a DLL simpler. All files within this DLL are compiled with the SAMPLE_EXPORTS // symbol defined on the command line. this symbol should not be defined on any project // that uses this DLL. This way any other project whose source files include this file see // SAMPLE_API functions as being imported from a DLL, wheras this DLL sees symbols // defined with this macro as being exported. #ifdef CIA_Media_Executer_EXPORTS #define CIA_EXEC_API __declspec(dllexport) #else #define CIA_EXEC_API __declspec(dllimport) #endif // This class is exported from the Sample.dll class CIA_EXEC_API CexecuteCommand { public: CexecuteCommand(void); // TODO: add your methods here. }; extern CIA_EXEC_API int nexecuteCommand; CIA_EXEC_API int fnexecuteCommand(void);
kann mir bitte einer sagen was ich da falsch mache, bzw die WARNmeldung genaue r erlären die sich wohl auf diese zeile bezieht
commandString = JS_ValueToString(cx, argv[0], &length);
length ist, wie n den zeile zuvor zu sehen, argv[1].
Ich verusch mich gerad durch die datentypen durchzuwurschteln aber immer liegt mir ein operator im weg, immer.
bin für jede hilfe dankbar und bedanke mich jetzt schonmal bei denen die bis hierher mit dem lesen durchgehalten haben
mfg
-
Hi ich bin neu hier und auch bei c++ und habe direkt eine bzw mehrere Fragen.
Ich möchte mein Adobe Flash mittels der implementierten JSAPIhttp://developer.mozilla.org/en/docs/Category:JSAPI_Reference über die c-level erweiterbarkeit http://livedocs.adobe.com/flash/9.0_de/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts_bak&file=00004601.html erweitern und komme irgendwie nicht weiter.
....
sorry dachte das forum unterstützt blinde links... also nochmal lesbar
mfg
ps.. und nochmal sorry kann bitte wer den anderen Thread löschen, danke.
-
Du solltest deine Posts einmal überdenken. Niemand liest gerne so viel unnötigen Code. Poste nächstes Mal unbedingt nur den relevanten Code. Ausserdem kommt mir hier direkt der Gedanke, dass das nur ein Trollversuch sein könnte... Und die redundante Beschreibung am Anfang entkräftet diesen Verdacht nicht gerade...
Ich hab den Code allerdings auch nicht angeschaut, die Warnungen
1>.\CIA_Media_Executer.c(34) : warning C4133: ':': Inkompatible Typen - von 'char *' zu 'unsigned short *'
1>.\CIA_Media_Executer.c(34) : warning C4133: '=': Inkompatible Typen - von 'unsigned short *' zu 'char *'sprechen jedoch für sich. Die Typen sind nicht kompatibel, das heisst, sie können nicht ohne weiteres in einander umgewandelt werden. Du übergibst also Argumente des falschen Typs.
WeakPeak_gast schrieb:
sorry dachte das forum unterstützt blinde links...
Blinde Links? Du musst nur die "" der URL entfernen.
WeakPeak_gast schrieb:
ps.. und nochmal sorry kann bitte wer den anderen Thread löschen, danke.
Das macht bestimmt ein Admin, aber wieso hast du den Thread überhaupt zwei Mal erstellt? Mit drei Minuten Unterschied kann das kaum ein Versehen gewesen sein
-
-
was ist ein trollversuch?
-
das mit dem doppelten eintrag geht ganz einfach indem du mousgestures im opera verwendest:) und dich etwas verklickst
-
ich hab in nem anderen forum gepostet denen wars zu vaage... also könnt ihr euch bite mal entscheiden ob ihr ne beschreibung genau oder vage haben wollt?
-
deine antwort ist nicht wirklich hilfreich
-
um die ursache für die fehlermeldung zu finden muss man den quelltext anschauen (ausser man mit vornamen Gott) und da ich keine ahnung hab was da falsch ist habe ich alles gepostet um es nicht aus dem kontext zu reissen... übrigens steht unten die die zeile um die es geht , wer des scrollens mächtig ist sollte in der lage sein diese im gepostet quelltext und dem verweis auf die einzig enthaltene c datei finden
-
ich warte immer noch auf ernstgemeinte antworten von leuten die die selbe zeit zum lesen haben wiee zum schreiben
Danke
-
-
WeakPeak_gast schrieb:
- was ist ein trollversuch?
Ein Versuch, durch nicht ernst gemeinte bzw. absichtlich nervende Posts die Zeit anderer Leute zu stehlen. Dein Post hat sehr viele Anzeichen eines solchen Versuchs.
WeakPeak_gast schrieb:
- ich hab in nem anderen forum gepostet denen wars zu vaage... also könnt ihr euch bite mal entscheiden ob ihr ne beschreibung genau oder vage haben wollt?
Ich denke, der gesunde Menschenverstand reicht aus, um zu merken, das mehrere hundert Zeilen Code nicht förderlich für die Hilfe sind.
WeakPeak_gast schrieb:
- deine antwort ist nicht wirklich hilfreich
Nur weil du sie nicht verstehst, heisst das nicht, dass sie nicht hilfreich ist. Schau doch einfach, was deine Funktionen für Parameter erwarten, und vergleiche diese mit den übergebenen Argumenten.
WeakPeak_gast schrieb:
- um die ursache für die fehlermeldung zu finden muss man den quelltext anschauen (ausser man mit vornamen Gott) und da ich keine ahnung hab was da falsch ist habe ich alles gepostet um es nicht aus dem kontext zu reissen... übrigens steht unten die die zeile um die es geht , wer des scrollens mächtig ist sollte in der lage sein diese im gepostet quelltext und dem verweis auf die einzig enthaltene c datei finden
Was bildest du dir eigentlich ein? Wenn der Code wenigstens einigermassen lesbar wäre, aber nein. Man muss von Makro zu Funktion weiterspringen und sich quer durch deinen ganzen Code hangeln. Abgesehen davon kann man die Fehlermeldung auch lesen (wie ich das z.B. getan habe), sie gibt einem sehr viele Informationen über die Art des Fehlers.
WeakPeak_gast schrieb:
- ich warte immer noch auf ernstgemeinte antworten von leuten die die selbe zeit zum lesen haben wiee zum schreiben
Viel Spass bei der Suche nach Leuten, die gerne ihre Zeit verschwenden, um sich in deinen Code einzulesen, weil du deinen eigenen Fehler nicht verstehst.
WeakPeak_gast schrieb:
Danke
Kein Problem. Ich würd dir allerdings für die Zukunft unbedingt raten, dir Gedanken über die Art und Weise zu machen, wie du einen neuen Thread erstellst. Nicht ohne Grund bin ich bis jetzt der einzige, der dir geantwortet hat.
-
Nexus schrieb:
WeakPeak_gast schrieb:
- was ist ein trollversuch?
Ein Versuch, durch nicht ernst gemeinte bzw. absichtlich nervende Posts die Zeit anderer Leute zu stehlen. Dein Post hat sehr viele Anzeichen eines solchen Versuchs.
Ja und paranoia ist das eingebildete vorhandensein von nicht reel existierenden bedrohlichkeiten.
Nexus schrieb:
WeakPeak_gast schrieb:
- um die ursache für die fehlermeldung zu finden muss man den quelltext anschauen (ausser man mit vornamen Gott) und da ich keine ahnung hab was da falsch ist habe ich alles gepostet um es nicht aus dem kontext zu reissen... übrigens steht unten die die zeile um die es geht , wer des scrollens mächtig ist sollte in der lage sein diese im gepostet quelltext und dem verweis auf die einzig enthaltene c datei finden
Was bildest du dir eigentlich ein? Wenn der Code wenigstens einigermassen lesbar wäre, aber nein.
was ich mir einbilde? das ich neu in diesem metier bin, ausserdem bilde ich mir ein das es nicht meine schuld ist wenn ich ein beispiel nehme und da 3-4 zeilen drin ändere das der code wohl ok sein sein wird, das er das nicht ist da kann ich auch nix für, machst du eigentlich jeden blöd an der keine ahnung hat um hilfe bittet und lernwillig ist?
Viel Spass bei der Suche nach Leuten, die gerne ihre Zeit verschwenden, um sich in deinen Code einzulesen, weil du deinen eigenen Fehler nicht verstehst.
cool da redet der spezialist davon das er zwar jemand blöd anpumpen kann weil ihm der code zu undurchsichtig ist und erwartet von nem anfänger code zu korrigieren ohne mal nen tipp zu geben, also ich hoffe du bist kein lehrer, da wärste ne lachnummer
so und nu tu mir den gefallen und bitte vergeude meine zeit nicht mit deinem gelaber, wenn sich keiner die mühe findet zu helfen , einer zum dumm labern findet sich, wie man sieht, immer.
Danke für diese hilfe hät ich meinen friseur gefragt hätte ich nun wenigstens bei gleicher zeitaufwendung wenigstens ne ordentliche fisur, so nurn nen haufen blöde sprüche.
btw ich hab nun 5 tage gegoogelt rumprobiert und gelesen jeden tag 7 stunden.... und so ein lackaffe wie du hat mir im moment gerade noch gefahlt.
spinner...
btw.. ich hab zwar ein konto hier gemacht aber für sone art von hilfe lohnt die zeit zum anmelden nicht könnte bitte einer beides beitrafg und konto löschen.... hättet ihr direkt geschrieben das man hier nur blöd angemacht wird und keine qualifizierte hilfe bekommt hät ich mir die zeit sparen können... furchtbar sowas
-
Jetzt mach mal halblang.
Es geht einfach nicht, dass du hieher kommst und von uns erwartest, dass wir den Code für dich bearbeiten. Forenaktivität ist immer mit Aufwand verbunden, den hier die meisten Wohl in der Freizeit opfern, um lernwilligen wirklich zu helfen.
Was aber nicht geht ist, dass unsere Hilfe als Selbstverständlich angenommen wird und wenn du die Tipps, die wir geben nicht annimmst und nur laufenden Code, oder so was erwartest, dann machst du dir hier keine Freunde.
was ich mir einbilde? das ich neu in diesem metier bin, ausserdem bilde ich mir ein das es nicht meine schuld ist wenn ich ein beispiel nehme und da 3-4 zeilen drin ändere das der code wohl ok sein sein wird, das er das nicht ist da kann ich auch nix für, machst du eigentlich jeden blöd an der keine ahnung hat um hilfe bittet und lernwillig ist?
Doch das ist deine Schuld und dein Problem. Du bist einfach noch nicht soweit solchen Code zu verstehen und damit zu arbeiten, oder den zu verändenr.
Ich steige auch nicht in ein Flugzeug und sage dann gross, dass es nicht mein Problem ist, dass ich nicht weiss, wie man fliegt.
Aber wir sind hier so freundlich und weisen dich darauf hin, dass du lieber noch ein wenig an den Basics arbeiten solltest, bevor du dich an solch grosse Sachen wagst. Und wenn einer kommt und unbedingt (ohne Ahnung davon zu haben) fliegen will, dann bekommst du hald irgendwann ein wenig härtere Antworten.Zu deinem Problem:
1>.\CIA_Media_Executer.c(34) : warning C4133: ':': Inkompatible Typen - von 'char *' zu 'unsigned short *' 1>.\CIA_Media_Executer.c(34) : warning C4133: '=': Inkompatible Typen - von 'unsigned short *' zu 'char *'
Die sind eigentlich selbsterklärend. Du weist da einem char* ein unsigned short* und einem short* ein char* zu.
Das weist mich darauf hin, dass du da wohl 2 Variablen verkehrt rum angegeben hast.
EDIT: Das wars nicht.
-
WeakPeak_gast schrieb:
machst du eigentlich jeden blöd an der keine ahnung hat um hilfe bittet und lernwillig ist?
Nein, das kannst du gerne an anderen Threads nachprüfen. Es tut mir leid, das zu sagen, aber es liegt an deiner Art. Und unter "lernwillig" verstehen wir wohl nicht das Gleiche.
WeakPeak_gast schrieb:
cool da redet der spezialist davon das er zwar jemand blöd anpumpen kann weil ihm der code zu undurchsichtig ist und erwartet von nem anfänger code zu korrigieren ohne mal nen tipp zu geben
Hättest du wenigstens nachgeschaut, so hättest du gemerkt, dass ich in beiden Posts eine Antwort auf deine Frage gegeben habe. drakon hat in seinem Post zudem auch noch zu deinem Problem Stellung genommen.
WeakPeak_gast schrieb:
so und nu tu mir den gefallen und bitte vergeude meine zeit nicht mit deinem gelaber, wenn sich keiner die mühe findet zu helfen , einer zum dumm labern findet sich, wie man sieht, immer.
Es tut mir leid, aber wenn du nicht einsiehst, was du falsch machst, kann ich dir auch nicht helfen. Und dass ich neben dem "dumm labern" eine hilfreiche Antwort gegeben habe, hab ich ja bereits erwähnt.
WeakPeak_gast schrieb:
btw.. ich hab zwar ein konto hier gemacht aber für sone art von hilfe lohnt die zeit zum anmelden nicht könnte bitte einer beides beitrafg und konto löschen.... hättet ihr direkt geschrieben das man hier nur blöd angemacht wird und keine qualifizierte hilfe bekommt hät ich mir die zeit sparen können... furchtbar sowas
Wenn du es nicht glaubst, kannst du gerne andere Threads in diesem Forum anschauen. Jeder, der halbwegs vernünftige Fragen stellt und genügend Motivation und Eigeninitiative mitbringt, bekommt auch entsprechende Antworten. Wenn du das nicht begreifst, ist das deine Sache.
Im Übrigen brauchst du nicht gleich beleidigend zu werden, wenn einmal jemand Kritik an deiner Vorgehensweise ausübt.
-
woah, 299 Codezeilen posten, und sich dann wundern das sich das niemand näher ansieht???
-
Wie so oft scheint nicht jedem klar zu sein, wer hier eigentlich wen um Hilfe bittet ...
(... und, dass "der Ton die Musik macht")Gruß,
Simon2.
-
nur mal so zum festhalten ja, hier kommt jemand her der um hilfe bittet, alles so genau wie möglich erklärt, die in frage kommenden zeilen im text hervorhebt ne woche lang gegooglt und gelesen hat, und nachts bis 5 uhr am pc sitzt um das zu begreifen...
dann wird gemeint man verschwende zeit das wär nur ein joke, dann lapidar das der fehler selbsterklärend ist...
Viel Spass bei der Suche nach Leuten, die gerne ihre Zeit verschwenden, um sich in deinen Code einzulesen, weil du deinen eigenen Fehler nicht verstehst.
solche texte sind auch sool zu lesen, tja wenn man sich die mühe gemacht hätte wenigstens mal den text zu lesen und nicht drauflos zu scheissen "woah viel zu lang" hätte man das mitbekommen...
muss ja echt ein tolles forum hier sein!!!
öh nochwas ja .. ich war der der um hilfe gebeten hat.. da wusst ich aber nicht das man hier blöde sprüche als hilfe versteht, sorry da gehen unser verständniss eines forums wirklich aueinander ... und auch soviel zum thema der ton macht die musik...
hätte mal einer die zeit die er zum posten verschwendet hat dazu verwendet mal den beitrag durch zu lesen aber nein die wissen noch nichtmal was drin steht, zählen codezeilen... iss ja wie bei mc donnalds hier da ist die krabbelkiste auch direkt am anfang...
ihr könnt ja noch 3 wochen weiter diskutieren, zum helfen habt ihr ja keine zeit nur zum labern ;)...
oder zählt nochmal die codezeilen nach (4 davon sind von mir) um die wöäres gegangen , schade ich dachte in sonem forum fände man leute die was davon verstehen, beim nächstenmal geh ich direkt in die kneipe, die antworten da sind genauso schlau, aber die leute sind netter.