Einsteigerfragen zur PROFAN Programmierung
  Suchen
Seiten: 1 2 3Zurück zur Übersicht
 AutorThema: SaveResource
Florian May
Datum:24.04.02 18:06 Antwortenals Email verschicken  


Kurze Frage:

Gibt es eine solche Funktion:
SaveResource(dll%,"meinedateiimverzeichnis.exe",1,111)

Ich möchte eine Datei (meinedateiimverzeichnis.exe) als Typ 111 und mit den Namen 1 in der DLL dll% speichern. Ist sowas möglich?


Thorsten
Datum:24.04.02 20:04 Antwortenals Email verschicken (galaxy@mrk-soft.de) 


Nein. Das geht nur mit eimem Ext. Programm, z.b den Borland Res-Resource Workshop


Frank Abbing
Datum:24.04.02 20:08 Antwortenals Email verschicken  


Hallo,

wäre aber eine nette Anregung... ;-))

Gruß,
Frank


Florian May
Datum:25.04.02 18:12 Antwortenals Email verschicken  


Ok ok aber es gibt ja beispielswe den Res-Shop-Pro

und wurde der in Profan geschrieben?

Wenn ja dann müsste es solche Funktionen ja geben

ehrlich gesagt kann ich mir das net vorstellen

es gibt funktionen zum laden und finden von ressourcen, dann müsste es doch auch eine geben um daten zu speichern...
vielleicht auch "nur" als dll oder so aber das würde ich auf mich nehmen ;)




Florian May
Datum:25.04.02 18:34 Antwortenals Email verschicken  


Ich habe mir schon einige dokus über dlls angeschaut aber nirgends steht was darüber

hat nicht irgendeiner mal ne dll oder so geschrieben....:)


Florian May
Datum:25.04.02 20:06 Antwortenals Email verschicken  


ich glaube aber das ihr (Frank Abbing und Thorsten) doch bestimmt schon ne Idee habt :) :) :)

oder?

also habe mal rumprobiert und es scheint das es wirklich keinen befehl ala daveresource gibt?

Und warum net?


Frank Abbing
Datum:25.04.02 20:41 Antwortenals Email verschicken  


Hallo Florian,

so eine Funktion ist mir zumindest nicht bekannt, und eine Idee hierzu habe ich auch nicht, Thorsten ist hier sicher besser bewandert, hat er doch schon etwas zu diesem Thema programmiert.
Daten-Dll's und richtige Dll's sind doch ein himmelhoher Unterschied...
Im Grunde kann aber jeder einer Dll oder einem Exeprogramm Daten hinzufügen, solche Befehle stellt Profan ja bereit, BlockWrite z.B. Du mußt dir halt Info's besorgen, wie und wo etwas angehängt werden muß...

Gruß, Frank


Thorsten
Datum:26.04.02 17:31 Antwortenals Email verschicken (mrk@mrk-soft.de) 


Hmmm,

Res-Shop Pro kann natürlich auch DLLs erzeugen, in denen dann
Resourden stehen, das stimmt schon. Allerdings steckt hier
viel "Know how" Hinter, jetzt nicht von der Seite des Wissens
gesehen, sondern von der Technik selber.

Da Res-Shop Pro gerade nochmal überarbeitet wird, (neue IDE,
verbessertes Handling und noch ein paar neue Funktionen mehr),
werde ich natürlich nicht unbedingt alle Geheimnisse verraten
wollen, MS gibt ja den Code von Windows auch nit Preis, gelle.

Thorsten




Florian May
Datum:27.04.02 11:36 Antwortenals Email verschicken  


so meine ich das ja nicht

ich möchte ja auch nicht mit nen fertigen quellcode nach hause gehen (doch vielleicht ;))

ich möchte halt nur mla wissen WO ich infos darüber bekomme und wie das so im groben ablaufen sollte

ich habe nämlich wirklich keine lust mich damit wochen zu beschäftigen und nacher zu erfahren "das geht doch garnet"

zudem war ich verwundert...es gibt apis zum lesen (ok callback geht ja net mit profan), laden, größe ermitteln und kopieren und dann ,üsste es doch auch eine geben wie schon gesagt saveressource

ik ich danke euch beiden werde mich mal auf die sache machen und wenn ich was finde gibt ne neue nachricht

über tipps usw bin ich offen

leider habe ich nicht ser viel zeit, da ich gerade an einen projekt arbeite und dort eine wichtige funktionen erstmal fertig gestellt werden muss

danke

schönes wochenedne


Sven Schmidts
Datum:27.04.02 12:55 Antwortenals Email verschicken (schmidts@flat2serv.de) 


Hallo,

in der Windows-API habe ich so ad hoc nichts weiter gefunden. Ich denke, hier kann Thorsten ev. einspringen, er hat diesbzgl. Erfahrungen. Vielleicht erzählt er mal, wie es grob funktioniert, dann können wir ja mal ansetzen.

Sven


Florian May
Datum:27.04.02 20:19 Antwortenals Email verschicken  


Ja eine PErson mit erfahrung wäre hilfreich


Uwe ''Pascal'' Niemeier
Datum:27.04.02 22:54 Antwortenals Email verschicken (Pascalxd@owl-online.de) 


Hallo Leute!

Vielleicht sollte man mal erwähnen, dass es einen grossen Unterschied gibt zwischen
"Einlinken" und "Anhängen".

Zum Einlinken einer Resource in eine exe oder dll müssen etliche Header umgeschrieben und ergänzt werden, ganz zu schweigen von den Resourcen selbst (wenn's Standart-Resourcen sind, müssen auch da die Dateiheader gekürzt werden; Icons und Cursors werden sogar in verschiedene Res-Typen aufgesplittet)
Genaue Infos über die Struktur von exe und dll gibt's im WWW (nach "Portable Executable File Format" suchen).
Theoretisch wäre sowas mit Profan auf binärer Ebene möglich; aus der Praxis halte ich mich lieber raus...

Soweit ich weiss, werden beim Res-Shop (zumindest bei der älteren Version) die Resourcen "nur"
angehängt und müssen beim Start des Programms wieder abgekoppelt und zwischengespeichert
werden (Richtig, Thorsten?)
Das hat natürlich den Vorteil, dass man mit üblichen ResourceEditoren nicht drankommt.

@ Florian: Was hast du denn genau vor? (Du hattest erwähnt, dass du eine exe in einer dll
speichern willst. Warum?)

@ Alle: Was ist eigendlich mit der API ""UpdateResource"??
Unter Win9x war's nur ein Dummy, ab NT 3.1 (und damit auch XP) sollte sie aber funktionieren.

SeeYou
Pascal


Thorsten
Datum:28.04.02 08:23 Antwortenals Email verschicken (mrk@mrk-soft.de) 


>Soweit ich weiss, werden beim Res-Shop (zumindest bei der
>älteren Version) die Resourcen "nur"
>angehängt und müssen beim Start des Programms wieder
>abgekoppelt und zwischengespeichert
>werden (Richtig, Thorsten?)

Nicht ganz. Version 3.0 (Deluxe Version), kann auch richtige
Windows DLL erzeugen, und die neue 4.0er natürlich auch.




Dr. Mabuse
Datum:28.04.02 02:03 Antwortenals Email verschicken  


Also wie blind müssen API-Spezialisten sein, um Funktionen wie "LoadResource" zu übersehen? Damit geht das einwandfrei!

Dr. Mabuse


Uwe ''Pascal'' Niemeier
Datum:28.04.02 10:33 Antwortenals Email verschicken (Pascalxd@owl-online.de) 


Das muss ich jetzt nicht verstehen, oder??

SeeYou
Pascal


Florian May
Datum:28.04.02 12:43 Antwortenals Email verschicken  


Verstehe ich auch nicht hehe


Dr. Mabuse
Datum:28.04.02 15:20 Antwortenals Email verschicken  


Ich finde es irgendwie komisch, dass sämtliche API-Gurus, die hier geantwortet haben, diese einfache Aufgabe nicht lösen können.

Ich hätte mehr von Euch erwartet...

Dr. Mabuse

Def FindResource(3) !"KERNEL32","FindResourceA"
Def LoadResource(2) !"KERNEL32","LoadResource"
Def LockResource(1) !"KERNEL32","LockResource"
Def SizeofResource(2) !"KERNEL32","SizeofResource"

Declare dummy#
Proc SaveRes2File
Parameters mod$,restype$,resname$,filename$
Declare hresinf&,hmod&,hres&,pdata&,size&,pdummy&,result&
result&=0
hmod&=UseDLL(mod$)
If hmod&
hresinf&=FindResource(hmod&,Addr(resname$),Addr(restype$))
hres&=LoadResource(hmod&,hresinf&)
pdata&=LockResource(hres&)
size&=SizeofResource(hmod&,hresinf&)
If size&
Dim dummy#,size&+1
pdummy&=dummy#
dummy#=pdata&
Assign #1,filename$
OpenRW #1
BlockWrite #1,dummy#,0,size&
CloseRW #1
dummy#=pdummy&
Dispose dummy#
result&=Not(%IOResult)
EndIf
FreeDll hmod&
EndIf
Return result&
EndProc

' Beispiel
SaveRes2File "SHELL32.DLL","AVI","#150","C:\~SAVERES.AVI"

If &(0)
ShellExec("C:\~SAVERES.AVI","open",1)
Else
Print "Fehler aufgetreten"
EndIf
WaitInput



Norbert Jaques
Datum:28.04.02 16:52 Antwortenals Email verschicken  


Wenn einem dieser Stil nicht bekanntvorkommt ...
Totgesagte leben länger!


Jaques Norbert
Datum:29.04.02 01:36 Antwortenals Email verschicken  


>Wenn einem dieser Stil nicht bekanntvorkommt ...
>Totgesagte leben länger!

*ROTFL*
meinst du nur tote können ordentlichen code schreiben?
dau backe...


Thorsten
Datum:28.04.02 17:07 Antwortenals Email verschicken (mrk@mrk-soft.de) 


Hmmmmm,

Irgendwie ging es doch darum, das Flori eine belibige
Datei in eine DLL zu Speichern wollte !!!! , NICHT eine
Resource aus einer DLL in einer Datei.

Und für Obiges ist eine direkte API nicht vorhanden !!!




Seiten: 1 2 3Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
doteu.info: Don´t miss your .eu-Domain